From owner-crossfire Tue Apr 30 08:27:08 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 30 Apr 1996 08:27:08 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 30 Apr 1996 08:27:05 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id CAA03521 for crossfire@ifi.uio.no; Tue, 30 Apr 1996 02:27:04 -0400 Date: Tue, 30 Apr 1996 02:27:04 -0400 From: Brian Thomas Message-Id: <199604300627.CAA03521@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: magic xp patch, part II Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I released this fix too late to make it into the present version. Again, I am not 100% sure that this is the whole problem. But as I stated before, the current code is not right. Here's that patch again for common/object.c. -b.t. *** object.c Sun Apr 21 01:07:23 1996 --- object.c.orig Tue Apr 30 02:24:22 1996 *************** *** 278,297 **** op->ownercount=owner->count; owner->refcount++; #ifdef ALLOW_SKILLS /* set the pointers in op to inherit owners skill, exp_obj */ ! if(owner->type==PLAYER&&owner->chosen_skill) op->chosen_skill = owner->chosen_skill; ! if(op->chosen_skill&&owner->chosen_skill->exp_obj) ! op->exp_obj = owner->chosen_skill->exp_obj; /* unfortunately, we can't allow summoned monsters skill use * because we will need the chosen_skill field to pick the * right skill/stat modifiers for calc_skill_exp(). See * hit_player() in server/attack.c -b.t. */ ! else if(QUERY_FLAG(op,FLAG_READY_SKILL)) CLEAR_FLAG(op,FLAG_READY_SKILL); #endif } /* --- 278,296 ---- op->ownercount=owner->count; owner->refcount++; #ifdef ALLOW_SKILLS /* set the pointers in op to inherit owners skill, exp_obj */ ! if(owner->type==PLAYER&&owner->chosen_skill) { op->chosen_skill = owner->chosen_skill; ! op->exp_obj = owner->chosen_skill->exp_obj; /* unfortunately, we can't allow summoned monsters skill use * because we will need the chosen_skill field to pick the * right skill/stat modifiers for calc_skill_exp(). See * hit_player() in server/attack.c -b.t. */ ! } else if(op->type!=PLAYER&&QUERY_FLAG(op,FLAG_READY_SKILL)) CLEAR_FLAG(op,FLAG_READY_SKILL); #endif } /* From owner-crossfire Tue Apr 30 02:47:53 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 30 Apr 1996 02:47:53 +0200 Received: from tenjin.ics.es.osaka-u.ac.jp (kawamoto@tenjin.ics.es.osaka-u.ac.jp [133.1.236.77]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 30 Apr 1996 02:47:48 +0200 Received: by tenjin.ics.es.osaka-u.ac.jp (8.6.12+2.4W/hal-MX-3.2-slave-1) id JAA05038; Tue, 30 Apr 1996 09:47:18 +0900 Message-Id: <199604300047.JAA05038@tenjin.ics.es.osaka-u.ac.jp> Mime-Version: 1.0 To: crossfire@ifi.uio.no From: KAWAMOTO Yosihisa Subject: CF: saving throw again Date: Tue, 30 Apr 1996 09:47:17 +0900 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello. A member of Japanese Crossfire mailing list found the bug of saving throw. In Crossfire 0.92.4 or earlier, the value of savethrow[] is defined in 0..99 (in common/living.c). But savethrow[] seems to be referred in 1..100 or 1..110 (in server/attack.c). This cause a trouble that a high level(100 or more) character fails in saving throw in a high probability. -- iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp From owner-crossfire Sun Apr 28 18:50:32 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 28 Apr 1996 18:50:32 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Sun, 28 Apr 1996 18:50:29 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id MAA25139 for crossfire@ifi.uio.no; Sun, 28 Apr 1996 12:50:28 -0400 Date: Sun, 28 Apr 1996 12:50:28 -0400 From: Brian Thomas Message-Id: <199604281650.MAA25139@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: library patch Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hi all, I have prepared a new patch a set of 3 small hacks that I wrapped together. These hacks are loosly connected in that a 'library' map I made requires them to be in place. The purpose of 'libraries' is to allow characters access to lower-level books on a regular basis. This is important, as reading books is a good way to gain the often difficult to come by "mental" experience, which ultimately controls player ability to learn spells. The library is then essentially a "pay for (low level) xp" vehicle. I have made a tar file that is on ftp.astro.psu.edu in pub/thomas (library.tar.gz). A greater explanation of the patch(es) and how to install the code are included in the tarfile. -b.t. ps. This patch is for CF 0.92.4. Update your code!! From owner-crossfire Sun Apr 28 08:53:56 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 28 Apr 1996 08:53:56 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Sun, 28 Apr 1996 08:53:54 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id CAA21160 for crossfire@ifi.uio.no; Sun, 28 Apr 1996 02:53:52 -0400 Date: Sun, 28 Apr 1996 02:53:52 -0400 From: Brian Thomas Message-Id: <199604280653.CAA21160@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: xp problem patch... Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I am not 100% sure that this is the entire problem; but the code is definitely not right-- I forgot to put in brackets on one if/then statement!!. Please try this (short) patch to object.c -- it patches set_owner() function. -b.t. *** ../../tarfiles/crossfire-0.92.3/common/object.c Sat Apr 27 05:03:40 1996 --- ./object.c Sun Apr 28 02:51:28 1996 *************** *** 277,297 **** op->owner=owner; op->ownercount=owner->count; owner->refcount++; ! #ifdef ALLOW_SKILLS /* set the pointer in op to owners exp_obj */ ! if(owner->type==PLAYER && owner->chosen_skill) ! if(owner->chosen_skill->exp_obj) { ! op->exp_obj = owner->chosen_skill->exp_obj; ! op->chosen_skill = owner->chosen_skill; ! } /* unfortunately, we can't allow summoned monsters skill use * because we will need the chosen_skill field to pick the * right skill/stat modifiers for calc_skill_exp(). See * hit_player() in server/attack.c -b.t. */ ! else if(QUERY_FLAG(op,FLAG_READY_SKILL)) CLEAR_FLAG(op,FLAG_READY_SKILL); #endif } /* --- 277,303 ---- op->owner=owner; op->ownercount=owner->count; owner->refcount++; ! #ifdef ALLOW_SKILLS /* set the pointers in op to inherit owners skill, exp_obj */ ! if(owner->type==PLAYER&&!(owner->chosen_skill)) ! LOG(llevDebug,"Warning: set_owner() found player %s has no skill readied.\n" ! ,owner->name); ! else if(owner->type==PLAYER&&owner->chosen_skill) { ! /* Set controlled objects pointers to owner's so anything it ! * kills will give exp to the correct owner's exp category. ! * Monsters controlling monsters dont get exp credit in this ! * scheme */ ! op->chosen_skill = owner->chosen_skill; ! op->exp_obj = owner->chosen_skill->exp_obj; ! /* unfortunately, we can't allow summoned monsters skill use * because we will need the chosen_skill field to pick the * right skill/stat modifiers for calc_skill_exp(). See * hit_player() in server/attack.c -b.t. */ ! } else if(QUERY_FLAG(op,FLAG_READY_SKILL)) CLEAR_FLAG(op,FLAG_READY_SKILL); #endif } /* From owner-crossfire Fri Apr 26 18:32:13 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 26 Apr 1996 18:32:13 +0200 Received: from mathlab.math.ufl.edu (mathlab.math.ufl.edu [128.227.168.16]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 26 Apr 1996 18:32:09 +0200 Received: from math.ufl.edu (burnside.math.ufl.edu [128.227.168.29]) by mathlab.math.ufl.edu (8.6.10/8.6.9) with ESMTP id MAA06687 for ; Fri, 26 Apr 1996 12:32:01 -0400 Message-Id: <199604261632.MAA06687@mathlab.math.ufl.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Spellcasting Experience Reply-To: sfm@math.ufl.edu Date: Fri, 26 Apr 1996 12:32:01 -0400 From: Servio Medina Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello. Version 0.92.2: no exp. for spellcasting nor for praying. At level 5 now and still have only 10 mana and 8 grace. Kept running the character in the hopes that something would change. No dice. Any ideas on how to correct the problem *and* keep the character? Thanks, Servio From owner-crossfire Fri Apr 26 07:42:08 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 26 Apr 1996 07:42:08 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 26 Apr 1996 07:42:06 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id BAA18262; Fri, 26 Apr 1996 01:42:05 -0400 Date: Fri, 26 Apr 1996 01:42:05 -0400 From: Brian Thomas Message-Id: <199604260542.BAA18262@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no, shulmaec@acasun.eckerd.edu Subject: Re: CF: Clawing doesn't give xp Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > From: shulmaec@acasun.eckerd.edu (Eric Shulman) writes: > > Something I noticed while starting up a Quetzalcoatl... > Really? this sounds alot like a prior bug I fixed for karate. What version are you using? My CF0.92.3 seems to work fine. While I am here, I want to meantion that I have been trying to track down a bug in the experience system.. apparently after a while, the server stops giving exp for magic (spellcasting). I have never seen any other skills do this, nor have I any clue what triggers the onset of the bug. Crashing the server seems to reset everything ok. Has any one seen this? Any helpful clues? I would like to submit a patch to Mark for this before he releases another version.... -b.t. From owner-crossfire Thu Apr 25 23:58:32 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 25 Apr 1996 23:58:32 +0200 Received: from triton.eckerd.edu (triton.eckerd.edu [198.187.214.2]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 25 Apr 1996 23:58:28 +0200 Received: from acasun.eckerd.edu by triton.eckerd.edu (5.0/SMI-SVR4) id AA17593; Thu, 25 Apr 1996 17:47:36 -0400 Received: by acasun.eckerd.edu (SMI-8.6/SMI-SVR4) id SAA27869; Thu, 25 Apr 1996 18:00:16 -0400 From: shulmaec@acasun.eckerd.edu (Eric Shulman) Message-Id: <199604252200.SAA27869@acasun.eckerd.edu> Subject: CF: Clawing doesn't give xp Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Thu, 25 Apr 1996 18:00:16 -0400 (EDT) X-Mailer: ELM [version 2.4 PL25] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit content-length: 56 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Something I noticed while starting up a Quetzalcoatl... From owner-crossfire Thu Apr 25 19:34:37 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 25 Apr 1996 19:34:37 +0200 Received: from maud.ifi.uio.no (0@maud.ifi.uio.no [129.240.74.2]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 25 Apr 1996 19:34:35 +0200 Received: from mathlab.math.ufl.edu (mathlab.math.ufl.edu [128.227.168.16]) by maud.ifi.uio.no ; Thu, 25 Apr 1996 19:34:24 +0200 Received: from math.ufl.edu (burnside.math.ufl.edu [128.227.168.29]) by mathlab.math.ufl.edu (8.6.10/8.6.9) with ESMTP id NAA28311 for ; Thu, 25 Apr 1996 13:30:16 -0400 Message-Id: <199604251730.NAA28311@mathlab.math.ufl.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Arch_types Reply-To: sfm@math.ufl.edu Date: Thu, 25 Apr 1996 13:30:15 -0400 From: Servio Medina Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello, I recently became interested in creating my own maps and would also like to make my own arch types: magic weapons, e.g. Is there available documentation on this? I would appreciate any/all help. Thanks. Servio From owner-crossfire Tue Apr 23 11:25:43 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 23 Apr 1996 11:25:43 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 23 Apr 1996 11:25:37 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id FAA15304 for crossfire@ifi.uio.no; Tue, 23 Apr 1996 05:25:34 -0400 Date: Tue, 23 Apr 1996 05:25:34 -0400 From: Brian Thomas Message-Id: <199604230925.FAA15304@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: invisibility patch... Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I found that items (like scrolls) could not impart invisibility to the user. THis was from improper handling of the "casting object". I made a patch so that invisibilty will now work from scrolls, etc as well as from spell casting. -bt. ps apply patch below to spell_effect.c. *** ../../tarfiles/crossfire-0.92.3/server/spell_effect.c Thu Mar 7 03:38:25 1996 --- ./spell_effect.c Tue Apr 23 05:18:42 1996 *************** *** 445,482 **** new_draw_info(NDI_UNIQUE, 0,op,"You detect nothing."); return 1; } int cast_invisible(object *op, int spell_type) { ! object *tmp; if(op->invisible>1000) { new_draw_info(NDI_UNIQUE, 0,op,"You are already as invisible as you can get."); return 0; } switch(spell_type) { case SP_INVIS: CLEAR_FLAG(op, FLAG_UNDEAD); - op->invisible+=SP_PARAMETERS[spell_type].bdur; /* set the base */ - op->invisible+=SP_PARAMETERS[spell_type].ldam * - SP_level_strength_adjust(op,spell_type); /* set the level bonus */ - if(op->type==PLAYER) - op->contr->tmp_invis=1; break; case SP_INVIS_UNDEAD: SET_FLAG(op, FLAG_UNDEAD); - op->invisible+=SP_PARAMETERS[spell_type].bdur; /* set the base */ - op->invisible+=SP_PARAMETERS[spell_type].ldam * - SP_level_strength_adjust(op,spell_type); /* set the level bonus */ - - if(op->type==PLAYER) - op->contr->tmp_invis=1; break; case SP_IMPROVED_INVIS: ! op->invisible+=SP_PARAMETERS[spell_type].bdur; /* set the base */ ! op->invisible+=SP_PARAMETERS[spell_type].ldam * ! SP_level_strength_adjust(op,spell_type); /* set the level bonus */ break; } new_draw_info(NDI_UNIQUE, 0,op,"You can't see your hands!"); update_object(op); for (tmp = objects; tmp != NULL; tmp = tmp->next) --- 452,485 ---- new_draw_info(NDI_UNIQUE, 0,op,"You detect nothing."); return 1; } int cast_invisible(object *op, int spell_type) { ! object *tmp,*caster=get_owner(op); ! int strength=SP_level_strength_adjust(op,spell_type); /* set the level bonus */ + if(caster) op=caster; /* so invis can be used from scrolls/potions! */ + if(op->invisible>1000) { new_draw_info(NDI_UNIQUE, 0,op,"You are already as invisible as you can get."); return 0; } + + op->invisible+=SP_PARAMETERS[spell_type].bdur; /* set the base */ + op->invisible+=SP_PARAMETERS[spell_type].ldam * strength; + if(op->type==PLAYER) + op->contr->tmp_invis=1; + switch(spell_type) { case SP_INVIS: CLEAR_FLAG(op, FLAG_UNDEAD); break; case SP_INVIS_UNDEAD: SET_FLAG(op, FLAG_UNDEAD); break; case SP_IMPROVED_INVIS: ! op->contr->tmp_invis=0; break; } new_draw_info(NDI_UNIQUE, 0,op,"You can't see your hands!"); update_object(op); for (tmp = objects; tmp != NULL; tmp = tmp->next) From owner-crossfire Sun Apr 21 00:31:58 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 21 Apr 1996 00:31:58 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Sun, 21 Apr 1996 00:31:53 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA17790; Sat, 20 Apr 96 15:31:21 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id PAA25293; Sat, 20 Apr 1996 15:31:09 -0700 From: "Mark Wedel" Message-Id: <9604201531.ZM25291@stealth.eng.pyramid.com> Date: Sat, 20 Apr 1996 15:31:08 -0700 In-Reply-To: Servio Medina "Re: CF: PLayer problem" (Apr 19, 10:12am) References: <199604191412.KAA05790@mathlab.math.ufl.edu> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: sfm@math.ufl.edu, crossfire@ifi.uio.no Subject: Re: CF: PLayer problem Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Apr 19, 10:12am, Servio Medina wrote: > Subject: Re: CF: PLayer problem > > Hello, > > I had sent a request for help regarding a problem with a player > loggin on. > > This is version 0.92.3, perm-death mode is on. > The player's name is accepted. > An incorrect password is refused. > The correct password crashes the game. > The same problem happened to another player, both involved players > are wizards. > I speculate a scroll (as mentioned in archives) related problem akin > to the magic shop problem aforementioned. > Tried version 0.92.2...same result with the *same* players. > > Thanks for any/all help. > > Servio >-- End of excerpt from Servio Medina I am guessing this is the same cause as some of the other crashes. The player probably has a book/scroll with a message. Unfortunately, there was a bug in the code that prevented the trailing line feed from being put in. Thus, when loading the object, it would never find the endmsg marker. Try loading the character file in an editor like vi or emacs. Then search for endmsg. All of these should be on a line by themself. If you find one that is somethign like: endmsg Then break this up, and things should work OK. However, this just fixes teh immediately problem - if you continue using 0.92.3, you could get other scrolls with the same problem. I will try to make a new release pretty soon. -- --Mark From owner-crossfire Sat Apr 20 09:03:17 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 20 Apr 1996 09:03:17 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Sat, 20 Apr 1996 09:03:14 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id DAA10975 for crossfire@ifi.uio.no; Sat, 20 Apr 1996 03:03:12 -0400 Date: Sat, 20 Apr 1996 03:03:12 -0400 From: Brian Thomas Message-Id: <199604200703.DAA10975@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: small patch for skill_util.c Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I discovered that items casting spells dont do so at the level of the item! Undercurrent code its 1! I checked this out, and it appears that cast_cone, fire_arch, etc reference SK_level(item) to determine the item's level. Unfortunately, the "item" object passed along is not strictly the item object itself (as I had assumed long ago!). It is a "casting object" built by cast_spell, and that object shares attributes of both the item casting the spell *and* the player using it!!. One effect is that when SK_level is called, the code thinks its referencing a *player's* level, which under skills, is the level of the experience object being used. Since this object is USE_MAGIC_ITEM, the level is 0 (but SK_level safety flips that to "1"). So, no spells cast by items are more powerfull than 1 (usually). I prepared a patch to fix this, and its small. However, the ramifications are a bit bigger. Under my patch, the item level will be used *if* the skill required to use the item is a *miscellaneous* skill. That is to say, you cant get exp from using the item. *If* on the other hand, you have changed your skill_params file to allow some xp from using devices, then *your* level will be returned by SK_level() and effectively the wand/etc will be used at your level, *not* the device level. This seems a bit of a change from the previous play. How do people feel about this? I can prepare a different (more complex) patch if the old playstyle is to be preserved (when you allow devices to give xp). -b.t. *** ../../tarfiles/crossfire-0.92.3/server/skill_util.c Thu Mar 7 03:38:24 1996 --- ./skill_util.c Sat Apr 20 02:52:42 1996 *************** *** 1390,1401 **** int SK_level(object *op) { int level = op->level; #ifdef ALLOW_SKILLS ! if(op->chosen_skill && op->type==PLAYER) ! level = op->chosen_skill->level; #endif if(level<=0) level = 1; /* safety */ return level; } --- 1393,1404 ---- int SK_level(object *op) { int level = op->level; #ifdef ALLOW_SKILLS ! if(op->chosen_skill && op->chosen_skill->level!=0 && op->type==PLAYER) ! level=op->chosen_skill->level; #endif if(level<=0) level = 1; /* safety */ return level; } From owner-crossfire Fri Apr 19 16:12:22 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 19 Apr 1996 16:12:22 +0200 Received: from mathlab.math.ufl.edu (mathlab.math.ufl.edu [128.227.168.16]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 19 Apr 1996 16:12:18 +0200 Received: from math.ufl.edu (burnside.math.ufl.edu [128.227.168.29]) by mathlab.math.ufl.edu (8.6.10/8.6.9) with ESMTP id KAA05790 for ; Fri, 19 Apr 1996 10:12:15 -0400 Message-Id: <199604191412.KAA05790@mathlab.math.ufl.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: PLayer problem In-reply-to: Your message of "Thu, 18 Apr 1996 14:11:37 EDT." <199604191115.5123.mne.ifi.uio.no@ifi.uio.no> Reply-To: sfm@math.ufl.edu Date: Fri, 19 Apr 1996 10:12:07 -0400 From: Servio Medina Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello, I had sent a request for help regarding a problem with a player loggin on. This is version 0.92.3, perm-death mode is on. The player's name is accepted. An incorrect password is refused. The correct password crashes the game. The same problem happened to another player, both involved players are wizards. I speculate a scroll (as mentioned in archives) related problem akin to the magic shop problem aforementioned. Tried version 0.92.2...same result with the *same* players. Thanks for any/all help. Servio From owner-crossfire Fri Apr 19 13:15:24 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 19 Apr 1996 13:15:24 +0200 Received: from mne.ifi.uio.no (1232@mne.ifi.uio.no [129.240.70.5]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 19 Apr 1996 13:15:21 +0200 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Fri, 19 Apr 1996 13:15:20 +0200 Message-Id: <199604191115.5123.mne.ifi.uio.no@ifi.uio.no> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: PLayer problem Date: Thu, 18 Apr 1996 14:11:37 -0400 From: Servio Medina Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello. I have had a problem bringing up a certain player: the game crashes *immediately* upon entering the correct password. If an incorrect password is attempted, the appropriate message is displayed and the subsequent name prompt is displayed. The player is not 'dead'; the game awaits a *correc* password (or so it seems). I am mystified and no I have not tampered with the players write-file. Any help would be tremendously appreciated. Oh yea, the game is set to perm-death mode. Thanks. Servio From owner-crossfire Thu Apr 18 11:48:02 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 18 Apr 1996 11:48:02 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 18 Apr 1996 11:47:56 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id FAA09049 for crossfire@ifi.uio.no; Thu, 18 Apr 1996 05:47:37 -0400 Date: Thu, 18 Apr 1996 05:47:37 -0400 From: Brian Thomas Message-Id: <199604180947.FAA09049@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: bug fix for cleric starting spells... Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO There seems to have been a change in the declaration of start_prayers, so that cleric only starts w/ turn undead! Change the line 477 in server/players.c from: > op->stats.sp=start_prayers[RANDOM()%(sizeof(start_prayers)/sizeof(long))]; to op->stats.sp=start_prayers[RANDOM()%(sizeof(start_prayers)/sizeof(uint8))]; This fixed the problem for me. -b.t. From owner-crossfire Wed Apr 17 13:02:28 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 17 Apr 1996 13:02:28 +0200 Received: from abulafia.st.hmc.edu (isildur@Abulafia.ST.HMC.Edu [134.173.48.83]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 17 Apr 1996 13:02:16 +0200 Received: (from isildur@localhost) by abulafia.st.hmc.edu (8.6.12/8.6.9) id EAA07380 for crossfire@ifi.uio.no; Wed, 17 Apr 1996 04:02:43 -0700 From: scary kevin Message-Id: <199604171102.EAA07380@abulafia.st.hmc.edu> Subject: Re: CF: Player balance. Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Wed, 17 Apr 1996 04:02:42 -0700 (PDT) X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 4534 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO From: "Mark Wedel" : > I think the change that needs to be made is to add more generic spell > casting objects for money (like the identify tables.) That way, he can > perhaps drop 10 gp for a detect magic, and maybe 25 gp for a detect curse > or something. I also think that this is justs a nice idea in general - > having altars in churches where you drop a bunch of gold to get a remove > curse or something. This is a definite problem with the current setup. I started a new Quetzalcoatl, and quickly died four or five times in quick succession to undiscovered poison needle traps. Any amount of poison killed me, and I had no recourse but to just sit and die. At those low levels, I could not afford healing potions or cure poison scrolls; now that I'm much higher in level, poison is no longer a problem, as it never seems to really affect me, and when it does, it never makes a serious dent in my hit points. The only characters who have problems with poison are those who are too low level to do anything about it. If more "spell tables" were added in temples etc., with, say, healing, cure poison, remove curse, and other similar spells that low-level characters really need but can't afford otherwise, and high-level characters can afford but don't need, it would serve to balance out the early levels of play. Right now I generally have to throw out three or so characters because of early losses to my statistics; I had (for instance) a wizard character I tried to start who died three times from traps on doors in the Newbie Tower. When I make a character, I'd like to be able to stick with it, rather than having to make three or four before I get one that survives the first five levels. >> o Relax no exp for magic item use (wands/rods/horns). Allow >> players to gain 5-10% of experience for kills with these items. >> Awarded exp can go to the "magic" exp category. This isnt a >> problem since no clerical killing spells occur in magic items. > I think getting exp from objects is totally reasonable. After all, it is > killing things that get the exp, so on that basis, knowing when to use the > spells should be worth something. Just casting a spell doesn't get exp, > only when someone casts the spell that kills something. Thus, when using > an item, your are doing half of the work, you are not casting, but you are > killing something. A friend and I have discussed this, and decided that it's a really bad idea. Say, for instance, I'm a mid-level swashbuckler with no spellcasting ability, but I manage to read a scroll of thaumaturgy. I pull out my trusty rod of icestorm (which I found/bought/whatever) and proceed to fry a pack of fire elementals (or other cold-vulnerable monster). WIthin a few hours I can have a spellcasting skill equal to my physique without actually learning a single spell. At this point, even if my int isn't great, I can begin learning low-level spells, as my magic level is high enough to let me. Right now it's difficult but not impossible for a non-spellcasting class to "break into" the field of magic, or prayer, or whatever. (I personally think it isn't difficult enough; a friend's warrior is more powerful magically than my quetzalcoatl, _and_ he can wear armor.) Making rods etc give indiscriminate skill experience will only make it easier -- no more warriors plinking at kobolds with their new magic missile spell; just go fry a few chinese dragons with a rod of medium fireball (the one in Goblin Island is a good example of an easy-to-kill, no risk critter). It will only contribute to the blurring of classes at higher levels, where what class you started off as doesn't seem to really make much difference in your combat capabilities; anyone over 20th level in our game has praying at high level, spellcasting at high level, and physique at high level. A way to do it that would avoid these problems to some degree is to allow experience to be gained through item usage, but to limit the classes able to use a certain item. Much like AD&D, warriors couldn't use wands, staves, or rods; wizards could use some of them, and clerics others. This way a spell-using character can resort to their items as a backup or last resort weapon and not miss experience for doing so, but other classes can't exploit the items as a means to wildly increase their (hopefully) weak casting abilities. Just a few thoughts... now, back to my thesis. -Kevin (isildur@abulafia.st.hmc.edu <-- at least for a little longer!) From owner-crossfire Wed Apr 17 00:38:15 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 17 Apr 1996 00:38:15 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 17 Apr 1996 00:38:11 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id SAA06431 for crossfire@ifi.uio.no; Tue, 16 Apr 1996 18:38:10 -0400 Date: Tue, 16 Apr 1996 18:38:10 -0400 From: Brian Thomas Message-Id: <199604162238.SAA06431@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: bug report. Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I just found that casting identify on top of a container (standing over it) caused a core dump. Apparently the problem is in eric_server_container code. I havent delved any deeper than that... -b.t. From owner-crossfire Wed Apr 17 00:14:34 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 17 Apr 1996 00:14:34 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 17 Apr 1996 00:14:31 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id SAA06378; Tue, 16 Apr 1996 18:12:58 -0400 Date: Tue, 16 Apr 1996 18:12:58 -0400 From: Brian Thomas Message-Id: <199604162212.SAA06378@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: mwedel@pyramid.com Subject: Re: CF: Player balance. Cc: crossfire@ifi.uio.no Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO The edit for the skills_params file to allow a 5% gain in exp for using magical devices is quite trivial, btw. Change: > use magic item > 6 0 0 0.0 99 99 99 To: > use magic item > 4 0 0 0.05 5 99 99 b.t. From owner-crossfire Wed Apr 17 00:03:35 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 17 Apr 1996 00:03:35 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 17 Apr 1996 00:03:32 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id SAA06342 for crossfire@ifi.uio.no; Tue, 16 Apr 1996 18:03:31 -0400 Date: Tue, 16 Apr 1996 18:03:31 -0400 From: Brian Thomas Message-Id: <199604162203.SAA06342@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Crossfire crashes Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I posted some patches a few weeks back that appeared to fix the problem for most people. Did you apply them too? Look for the patches in the file lit.tar.gz in /pub/thomas on ftp.astro.psu.edu b.t. From owner-crossfire Wed Apr 17 00:01:18 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 17 Apr 1996 00:01:18 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 17 Apr 1996 00:01:15 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id SAA06339 for crossfire@ifi.uio.no; Tue, 16 Apr 1996 18:01:13 -0400 Date: Tue, 16 Apr 1996 18:01:13 -0400 From: Brian Thomas Message-Id: <199604162201.SAA06339@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Player balance. Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > From: "Mark Wedel" writes: > > > Brian writes [about experience adjustments]: > > > > My ideas on adjusting the playbalance: > > > > o Probably, the skills of disarm traps/skill ident stuff needs some > > better tuning. Less overall exp awarded for these. I am looking > > at some of the other skills too. Probably only the fighting/magic > > skills dont need adjustment! > > > > All skills other than fighting/magic become difficult to tune. Simply because > of their limited usage. How much exp can you get from disarming traps? You > are limited by how many traps are about. For monsters, this is not a problem - > there are a lot out there. > Well, potentially there are quite a few traps too. Remember every door has the possiblity for having a trap. As for identifying objects, this is limited by the occurance of the item you can ident. Players with smithing will find thier mental exp advance much faster than those with WOODSMAN. Btw, is there any reason that food should always be identified? > > o Literacy skill requirement should perhaps be relaxed a little. > > Allow players to read books, but with out literacy skill they > > always get a 'failure' to read that results in ~ 1/2 the text > > being scrambled. No successfull spellbook reading /scroll > > reading w/o literacy (or perhaps make success very rare). > > > > I actually have made it so all characters start with literacy. I did this > after my barbarian got a cursed item. Quick summary is: he needs literacy to > read a scroll of remove curse. Literacy costs a lot of money (180 platinum or > so.) But even at that, there is a chance he can't learn literacy (and in fact, > that is what happened.) > [snip] > > I think the change that needs to be made is to add more generic spell casting > objects for money (like the identify tables.) That way, he can perhaps drop 10 > gp for a detect magic, and maybe 25 gp for a detect curse or something. I also > think that this is justs a nice idea in general - having altars in churches > where you drop a bunch of gold to get a remove curse or something. > Hmm. I will try to make time to get altars to remove curses/damnation and bestow blessings. Right now Im tied up w/ work, and putting the finally touches on an alchemy code patch. > > o Relax no exp for magic item use (wands/rods/horns). Allow > > players to gain 5-10% of experience for kills with these items. > > Awarded exp can go to the "magic" exp category. This isnt a > > problem since no clerical killing spells occur in magic items. > > I think getting exp from objects is totally reasonable. After all, it is > killing things that get the exp, so on that basis, knowing when to use the > spells should be worth something. Just casting a spell doesn't get exp, only > when someone casts the spell that kills something. Thus, when using an item, > your are doing half of the work, you are not casting, but you are killing > something. > I agree, but using a wand/device has got to be easier than spellcasting (esp if you use CASTING time option). Thats why I would suggest only a fraction of the exp be awarded. Otherwise, you go back to having everyone killing the tough stuff w/ just devices. Yech. This way, (I think), its more of a challange (and fun). -b.t. > > > > Thoughts? > > > > -b.t. > > > >-- End of excerpt from Brian Thomas > > > > -- > --Mark > From owner-crossfire Tue Apr 16 22:55:11 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 16 Apr 1996 22:55:11 +0200 Received: from main.1234net.com (onyx.1234net.com [204.213.255.129]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 16 Apr 1996 22:55:07 +0200 Received: from 1234net.com by main.1234net.com (NTMail 3.01.03) id ja002869; Tue, 16 Apr 1996 16:56:54 -0400 Comments: Authenticated sender is From: "Guy Williams" Organization: 123-4-NET Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Tue, 16 Apr 1996 16:56:53 -0500 MIME-Version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT Subject: CF: Crossfire crashes Reply-to: GuyW@1234net.com Priority: normal X-mailer: Pegasus Mail for Windows (v2.10) X-Info: Evaluation version at main.1234net.com Message-Id: <20565441100082@1234net.com> Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I got 0.92.3 and compiled it on Linux 1.2.13. The compile went ok with a couple of warnings. Everything works fine exept every once in a while (often) the server crashes when I enter a store. On one crash the log said Generated artifact leather armour of Ilrya [(ac+3)(armor+5)] legal_art: robe chain mail of metal weave was not a legal combination. FACE: 1664 FACE: 1664 FACE: 1664 SIGSEGV received. Emergency saves disabled, no save attempted Cleaning up... Cleaning unique items filelocks. Another crash log says Saving map /city/misc/beginners Saving map /city/city message: 648 message: 883 SIGSEGV received. Emergency saves disabled, no save attempted Cleaning up... Cleaning unique items filelocks. I don't know where there is more log information. If I can get the stable I will open it up to everyone. Tell me what else you need to diagnose the problem and I will provide it. Thanks, Guy From owner-crossfire Tue Apr 16 23:16:47 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 16 Apr 1996 23:16:47 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 16 Apr 1996 23:16:42 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA16100; Tue, 16 Apr 96 14:16:09 -0700 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA11559; Tue, 16 Apr 96 21:15:59 GMT From: "Mark Wedel" Message-Id: <9604161415.ZM11557@stealth.eng.pyramid.com> Date: Tue, 16 Apr 1996 14:15:58 -0700 In-Reply-To: "Guy Williams" "CF: Crossfire crashes" (Apr 16, 4:56pm) References: <20565441100082@1234net.com> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: GuyW@1234net.com, crossfire@ifi.uio.no Subject: Re: CF: Crossfire crashes Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Apr 16, 4:56pm, Guy Williams wrote: > Subject: CF: Crossfire crashes > I got 0.92.3 and compiled it on Linux 1.2.13. The compile > went ok with a couple of warnings. Everything works fine > exept every once in a while (often) the server crashes when > I enter a store. On one crash the log said > Simply put, 0.92.3 is pretty buggy. I will try to make a new release in a week or 2. For the interim, get 0.92.2 (or revert back to it), if you need to play. -- --Mark From owner-crossfire Tue Apr 16 23:15:15 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 16 Apr 1996 23:15:15 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 16 Apr 1996 23:15:10 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA15892; Tue, 16 Apr 96 14:14:39 -0700 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA11486; Tue, 16 Apr 96 21:14:27 GMT From: "Mark Wedel" Message-Id: <9604161414.ZM11484@stealth.eng.pyramid.com> Date: Tue, 16 Apr 1996 14:14:26 -0700 In-Reply-To: Brian Thomas "Re: CF: Player balance." (Apr 16, 1:24pm) References: <199604161724.NAA05773@xplorer.gsfc.nasa.gov> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: Brian Thomas Subject: Re: CF: Player balance. Cc: crossfire@ifi.uio.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Brian forget to send a copy of this to the list, so I will include a complete copy of his message, with some notes from me. On Apr 16, 1:24pm, Brian Thomas wrote: > Subject: Re: CF: Player balance. > > From: "Mark Wedel" writes: > > > > For the skills, the chart only shows those that the character starts with - > > I don't include skill scrolls. Maybe Brian can answer this: Is there any > > reason some classes do get skill scrolls? Why don't we just start everyone > > with skills? > > Yeah. There shouldnt be any starting skill scrolls. Especially > now since there is a good chance you wont learn the skill. > All players should start wi/ skills instead, the few classes that > start with some skill scrolls should be switched. > > > > > One thing that I notice pretty much immediately is that in most cases, a > > net gain of 0 is maintained. However, some classes certainly start with > > more or better skills than others. Maybe these advantages should be balanced > > out some based on the stats. I see the elf as an example of this -starts > > out with fighter, mage, a couple misc. skills and a net gain of +1. > > Perhaps this should be balanced better? > > > Hmm. I thought that the elf started with a -1! Oh well, I guess > things chanced. Speaking of which, I am interested in how > people feel the play balance is. Especially the older players who > remember the game before skills showed up. Personally, I think > the game is still too easy. I just started a thief character, and > in a about 1 hour I had him up to 6 lvl in fighting/mental/agility > skills, yow! I'll look over the elf again - it is possible I have a +1 someplace where there should be a -1. In terms of play advancement: I started a barbarian last night, and within an hour, was level 4. In some sense, I am not sure how much this can be changed - gaining the first few levels in the old system was quite quick. But if you thing about it, if the orc/goblin/whatever is 20 exp each, that is only 50 you need to kill to get second level. That isn't all that many. The first 4/5 levels have always been easy. However, after level 5, things start to get difficult - you need 8,000 exp, and it keeps doubling. That is a lot of orcs/whatever. There just aren't monsters at that level whichc you can go through like at lower levels and get that same amount of exp. skeletons and zombies are good at that level, but still takes quite a while. I find the middle levels can take quite a while to move through. > > My ideas on adjusting the playbalance: > > o Probably, the skills of disarm traps/skill ident stuff needs some > better tuning. Less overall exp awarded for these. I am looking > at some of the other skills too. Probably only the fighting/magic > skills dont need adjustment! > All skills other than fighting/magic become difficult to tune. Simply because of their limited usage. How much exp can you get from disarming traps? You are limited by how many traps are about. For monsters, this is not a problem - there are a lot out there. > o Literacy skill requirement should perhaps be relaxed a little. > Allow players to read books, but with out literacy skill they > always get a 'failure' to read that results in ~ 1/2 the text > being scrambled. No successfull spellbook reading /scroll > reading w/o literacy (or perhaps make success very rare). > I actually have made it so all characters start with literacy. I did this after my barbarian got a cursed item. Quick summary is: he needs literacy to read a scroll of remove curse. Literacy costs a lot of money (180 platinum or so.) But even at that, there is a chance he can't learn literacy (and in fact, that is what happened.) This may all be good and proper, depending on your point of view. But the obvious counter is to just create a low level mage character that can read scrolls so that they can read the scrolls instead. I decided to play the barbarian on the basis to see how well a total non spell caster could do. At present, my opinion is not very well. Literacy at least gives him a fighting chance, but even with taht, there is a good chance that he can't read the scrolls even with literacy. I think the change that needs to be made is to add more generic spell casting objects for money (like the identify tables.) That way, he can perhaps drop 10 gp for a detect magic, and maybe 25 gp for a detect curse or something. I also think that this is justs a nice idea in general - having altars in churches where you drop a bunch of gold to get a remove curse or something. > o Relax no exp for magic item use (wands/rods/horns). Allow > players to gain 5-10% of experience for kills with these items. > Awarded exp can go to the "magic" exp category. This isnt a > problem since no clerical killing spells occur in magic items. I think getting exp from objects is totally reasonable. After all, it is killing things that get the exp, so on that basis, knowing when to use the spells should be worth something. Just casting a spell doesn't get exp, only when someone casts the spell that kills something. Thus, when using an item, your are doing half of the work, you are not casting, but you are killing something. > > Thoughts? > > -b.t. > >-- End of excerpt from Brian Thomas -- --Mark From owner-crossfire Mon Apr 15 10:41:20 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 15 Apr 1996 10:41:20 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 15 Apr 1996 10:41:15 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA23595; Mon, 15 Apr 96 01:40:36 -0700 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA10554; Mon, 15 Apr 96 08:40:14 GMT From: "Mark Wedel" Message-Id: <9604150140.ZM10552@stealth.eng.pyramid.com> Date: Mon, 15 Apr 1996 01:40:14 -0700 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Player balance. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I deciding to start a new character in crossfire, and then decided to look over the PlayerStats file. I noticed it was a bit out dated (missing Pow stat, along with skills). I thought this might be a good oppertunity to get some thoughts and the balance of these stats. For the skills, the chart only shows those that the character starts with - I don't include skill scrolls. Maybe Brian can answer this: Is there any reason some classes do get skill scrolls? Why don't we just start everyone with skills? One thing that I notice pretty much immediately is that in most cases, a net gain of 0 is maintained. However, some classes certainly start with more or better skills than others. Maybe these advantages should be balanced out some based on the stats. I see the elf as an example of this -starts out with fighter, mage, a couple misc. skills and a net gain of +1. Perhaps this should be balanced better? But that said, there is one disadvantage to using stats to even things out: Starting stat bonuses/penalties determine maximum natural values for the stats. Thus, the wraith that starts with a -12 penalty will still be 12 stats points behind overall after he maxes his stats with potions. However, the fact that most of that loss is charisma may even things out (and this could be true for other classes - a class that is never going to be a spellcaster may not care about the loss of intelligence, wisdom, and power..) The short skill descriptions are just that - short. They hardly tell the whole story. The main idea of updating the document is so that when you decide to start a new character, you have some better idea of what class to choose depending on what you want to play. ------------------------------------------------------------------------------ | Class/Prof | Str | Dex | Con | Wis | Cha | Int | Pow | Net | Skills | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Barbarian | 4 | 1 | 4 | -1 | -2 | -6 | 0 | 0 | F,cl,wd | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Cleric | 0 | -1 | -1 | 2 | 1 | -2 | 1 | 0 | F,or | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Dwarf | 3 | -4 | 4 | 0 | -3 | 0 | 0 | 0 | F,sm | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Elf | -2 | 4 | -2 | -3 | 2 | 1 | 1 | +1 | F,M,bo,wd | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Fireborn | -7 | 4 | -3 | 3 | -4 | 2 | 0 | -5 |B,mi,sc,pr,ft| +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Human | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | F,ra | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Mage | 0 | 1 | -1 | 0 | -3 | 1 | 2 | 0 | F,C | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Monk | 2 | 2 | 1 | 0 | -3 | -1 | -1 | 0 |B,mi,me,ka,se| +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Ninja | 2 | 2 | 0 | -1 | -1 | -2 | 0 | 0 | F,ju,hi | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Priest | -3 | -2 | -2 | 3 | 2 | 0 | 2 | 0 | C | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Quetzalcoatl | 4 | -4 | 4 | -10 | 0 | -10 | +7 | -9 |B,mi,cw,sc,mw| +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Swashbuckler | 1 | 3 | 1 | -2 | 1 | -4 | 0 | 0 | F,st,si | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Thief | 0 | 4 | -2 | 0 | -3 | 1 | 0 | 0 | F,st | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Viking | 1 | 1 | 2 | -1 | -1 | -2 | 0 | 0 | F,ba | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Warrior | 3 | -1 | 2 | 0 | -1 | -3 | 0 | 0 | F,or | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Wizard | -3 | 0 | -3 | 0 | 0 | 3 | 3 | 0 | C | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Wraith | -4 | 4 | -4 | -3 | -10 | 2 | 3 | -12 | C | +--------------+-----+-----+-----+-----+-----+-----+-----+-----+-------------+ | Class/Prof | Str | Dex | Con | Wis | Cha | Int | Pow | Net | Skills | ------------------------------------------------------------------------------ Enclosed are codes used for the skills above. The ones in basic, casting, and fighting should all be pretty self explanatory. For the other skills, a brief description is given, for a more detailed description, look at the skills.doc file. Skill codes: B=basic skills (find traps, remove traps, use magic items) C=casting skills (melee weapon, spellcasting, praying, find traps, remove traps, use magic items) F=fighter skills (melee weapon, missile weapon, find traps, remove traps, use magic items) ba=bargaining. Increases charisma for buying/selling items. bo=bowyer. Identify missile weapons and missiles. cl=climbing. Better movement through mountains? cw=clawing. Allows for bare handed attack. ft=flame touch. Unarmed fire attack. hi=hide. Allows partial invisiblity. ju=jumping. Can jump over spaces. ka=karate. Unamred combat. me=meditation. Regain hp/mana at faster rate. mw=melee weapon. Can use hand held weapons. mi=missile weapon. Can use missile weapons. or=oratory. May recruite followers. pr=praying. Can cast cleric spells. ra=random skill sc=spell casting. Can cast wizard spells. se=sense magic. Can detect magic items. si=singing. May pacifiy hostile monsters. sm=smithery. Identify arms and armor. st=stealing. Can take items from monsters inventory. wd=woodsman. Move faster through wooded terrain. -- --Mark From owner-crossfire Mon Apr 15 10:09:20 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 15 Apr 1996 10:09:20 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 15 Apr 1996 10:09:14 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA19809; Mon, 15 Apr 96 01:08:42 -0700 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA09560; Mon, 15 Apr 96 08:08:24 GMT From: "Mark Wedel" Message-Id: <9604150108.ZM9558@stealth.eng.pyramid.com> Date: Mon, 15 Apr 1996 01:08:23 -0700 In-Reply-To: Tony "CF: paths?" (Apr 15, 2:33pm) References: <199604150503.OAA16119@ermintrude.teaching.cs.adelaide.edu.au> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: Tony , crossfire@ifi.uio.no Subject: Re: CF: paths? Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Apr 15, 2:33pm, Tony wrote: > Subject: CF: paths? > hi, > I have this problem when setting up cf: I set the top root > directory in the 'crosssite.def' file to my own custom path, but > when I go to run cf it still points to /home/sleipner. I find > that I only have this problem when not instaling cf as root, > otherwise I would let it install into /home/sleipner. > Any time you change anything in crosssite.def, you then need to do a make clean and then proceed to step 3 of the install directions (Making the makefiles). -- --Mark From owner-crossfire Mon Apr 15 07:03:40 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 15 Apr 1996 07:03:40 +0200 Received: from ermintrude.teaching.cs.adelaide.edu.au (a0alvaro@ermintrude.teaching.cs.adelaide.edu.au [129.127.104.3]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 15 Apr 1996 07:03:36 +0200 Received: from a0alvaro@ermintrude.teaching.cs.adelaide.edu.au by ermintrude.teaching.cs.adelaide.edu.au (8.7.3/AndrewR-MatthewD-950530-CS) id OAA16119 for crossfire@ifi.uio.no; Mon, 15 Apr 1996 14:33:15 +0930 (CST) X-Authentic-Sender: a0alvaro@ermintrude.teaching.cs.adelaide.edu.au From: Tony Message-Id: <199604150503.OAA16119@ermintrude.teaching.cs.adelaide.edu.au> Subject: CF: paths? Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Mon, 15 Apr 1996 14:33:14 +0930 (CST) X-Mailer: ELM [version 2.4 PL23] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO hi, I have this problem when setting up cf: I set the top root directory in the 'crosssite.def' file to my own custom path, but when I go to run cf it still points to /home/sleipner. I find that I only have this problem when not instaling cf as root, otherwise I would let it install into /home/sleipner. -- - a0alvaro@teaching.cs.adelaide.edu.au - Antonio Alvaro COMPUTER SCIENCE/Adelaide Uni (South Australia) From owner-crossfire Tue Apr 9 18:10:56 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 9 Apr 1996 18:10:56 +0200 Received: from mne.ifi.uio.no (1232@mne.ifi.uio.no [129.240.70.5]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 9 Apr 1996 18:10:52 +0200 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Tue, 9 Apr 1996 18:10:52 +0200 Message-Id: <199604091610.13628.mne.ifi.uio.no@ifi.uio.no> From: Philip Brown Date: Mon, 8 Apr 1996 23:42:01 -0700 (PDT) In-Reply-To: from "Ken Woodruff" at Apr 8, 96 06:48:36 am Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Suggestion and comments Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO >>>>[From Ken Woodruff] I'm open to suggestions as to approach, for example do you think it's worthwhile to try to develop a common API for the user interface and network routines that will allow us to share most of the client code across UNIX/X and Windows versions or should we take the client/server communication protocol as a starting point and develop a client for Windows from scratch using more standard (from a Windows perspective) programming and user interface techniques? Or just use java as the initial client program, after defining the client protocol properly. From owner-crossfire Mon Apr 8 20:19:22 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 8 Apr 1996 20:19:22 +0200 Received: from ginger.vnet.net (root@ginger.vnet.net [166.82.1.69]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 8 Apr 1996 20:19:19 +0200 Received: from lys.vnet.net (root@lys.vnet.net [166.82.1.6]) by ginger.vnet.net (8.6.12/8.6.12) with ESMTP id OAA04375; Mon, 8 Apr 1996 14:20:39 -0400 Received: from unknown ([166.82.11.170]) by lys.vnet.net (8.6.12/8.6.12) with SMTP id NAA03722; Mon, 8 Apr 1996 13:19:11 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: "Kristofer M. Bosland" Cc: crossfire@ifi.uio.no Subject: Re: CF: Suggestion and comments Date: Mon, 08 Apr 1996 18:17:07 GMT Organization: Kaos, Inc Message-Id: <316957e9.48961597@lys.vnet.net> References: In-Reply-To: X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Mon, 8 Apr 1996 08:30:28 -0700 (PDT), you wrote: > >On Mon, 8 Apr 1996, Ken Woodruff wrote: > >> >> Brian Thomas writes: >> > A Windows client would probably achieve the stated goal of >> > expanding the popularity of CF more than any one other >> > software objective I know of. Ken Woodruff (you still >> > out there Ken??) once stated that he was interested in >> > programing the client. >> >> Still out here, still interested, haven't started. I'd guess it's still >> possible I might want to take up this project later this year (summer >> looks to be relatively slow). I'm open to suggestions as to approach, >> for example do you think it's worthwhile to try to develop a common >> API for the user interface and network routines that will allow us to share >> most of the client code across UNIX/X and Windows versions or should >> we take the client/server communication protocol as a starting point and >> develop a client for Windows from scratch using more standard (from a >> Windows perspective) programming and user interface techniques? >> >> --Ken > > I'd recommend a strong definition of the client/server >communication protocol as a start. If you make one that is more text than >binary (i.e. move object7 x7 y30\n instead of \0x13\0x07\0x07\0x1e) I'd be >willing to start on a Tcl/Tk client. Tcl/Tk has been ported to Windows >and the Mac, so with a little work, a Tcl/Tk client should be very general. I've had some experience programming c++ for windows using winsock, so I could also work on this;) bill Bill Farrar, C++Windows Programmer. The Linking and Binding is the Important step... "60 Million Gigabits can do alot. It can even do Windows" Fred Pohl, _Beyond_The_Blue_Event_Horizon_ From owner-crossfire Mon Apr 8 17:55:13 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 8 Apr 1996 17:55:13 +0200 Received: from elvis.seattleu.edu (root@elvis.seattleu.edu [199.237.224.12]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 8 Apr 1996 17:55:10 +0200 Received: from handel.seattleu.edu.seattleu.edu by elvis.seattleu.edu (4.1/SMI-4.1) id AA15494; Mon, 8 Apr 96 08:52:04 PDT Received: by handel.seattleu.edu.seattleu.edu (4.1/SMI-4.1) id AA22166; Mon, 8 Apr 96 08:51:40 PDT Date: Mon, 8 Apr 1996 08:30:28 -0700 (PDT) From: "Kristofer M. Bosland" Subject: RE: CF: Suggestion and comments Mime-Version: 1.0 To: Ken Woodruff Cc: Crossfire Mailing List In-Reply-To: Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Mon, 8 Apr 1996, Ken Woodruff wrote: > > Brian Thomas writes: > > A Windows client would probably achieve the stated goal of > > expanding the popularity of CF more than any one other > > software objective I know of. Ken Woodruff (you still > > out there Ken??) once stated that he was interested in > > programing the client. > > Still out here, still interested, haven't started. I'd guess it's still > possible I might want to take up this project later this year (summer > looks to be relatively slow). I'm open to suggestions as to approach, > for example do you think it's worthwhile to try to develop a common > API for the user interface and network routines that will allow us to share > most of the client code across UNIX/X and Windows versions or should > we take the client/server communication protocol as a starting point and > develop a client for Windows from scratch using more standard (from a > Windows perspective) programming and user interface techniques? > > --Ken I'd recommend a strong definition of the client/server communication protocol as a start. If you make one that is more text than binary (i.e. move object7 x7 y30\n instead of \0x13\0x07\0x07\0x1e) I'd be willing to start on a Tcl/Tk client. Tcl/Tk has been ported to Windows and the Mac, so with a little work, a Tcl/Tk client should be very general. -Kris Bosland From owner-crossfire Mon Apr 8 09:06:36 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 8 Apr 1996 09:06:36 +0200 Received: from upsmot01.msn.com (upsmot01.msn.com [204.95.110.78]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 8 Apr 1996 09:06:33 +0200 Received: from upmajb02.msn.com (upmajb02.msn.com [204.95.110.74]) by upsmot01.msn.com (8.6.8.1/Configuration 4) with SMTP id XAA13450 for ; Sun, 7 Apr 1996 23:57:58 -0700 Date: Mon, 8 Apr 96 06:48:36 UT From: "Ken Woodruff" Message-Id: Mime-Version: 1.0 To: "Crossfire Mailing List" Subject: RE: CF: Suggestion and comments Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Brian Thomas writes: > A Windows client would probably achieve the stated goal of > expanding the popularity of CF more than any one other > software objective I know of. Ken Woodruff (you still > out there Ken??) once stated that he was interested in > programing the client. Still out here, still interested, haven't started. I'd guess it's still possible I might want to take up this project later this year (summer looks to be relatively slow). I'm open to suggestions as to approach, for example do you think it's worthwhile to try to develop a common API for the user interface and network routines that will allow us to share most of the client code across UNIX/X and Windows versions or should we take the client/server communication protocol as a starting point and develop a client for Windows from scratch using more standard (from a Windows perspective) programming and user interface techniques? --Ken From owner-crossfire Tue Apr 9 17:59:08 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 9 Apr 1996 17:59:08 +0200 Received: from mne.ifi.uio.no (1232@mne.ifi.uio.no [129.240.70.5]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 9 Apr 1996 17:59:05 +0200 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Tue, 9 Apr 1996 17:59:04 +0200 Message-Id: <199604091559.13611.mne.ifi.uio.no@ifi.uio.no> Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Sun, 7 Apr 1996 13:51:36 +0930 (CST) From: Tony Subject: CF: help MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO hi, I have problems running crossfire on my IBM clone with linux, I can compile every thing fine, and all the binaries are all there but when I go to type crossfire it comes out with this error.... Eerror getting protobyname ...what does this mean? Is there any thing else that I have to do other than what it says in the INSTALL file to run cf on linux. Any help would be much apprecited. -- ^`. . . ^_ \ \ - a0alvaro@teaching.cs.adelaide.edu.au - \ \ . .o. { \ Antonio Alvaro { \ / `~~~--__ COMPUTER SCIENCE/Adelaide Uni { \___----~~' `~~-_ (South Australia) \ /// ` `~. ..o.o. .o. . / /~~~~-, ,__. , /// __,,,,) \/ \/ `~~~; ,---~~-_`~= . . . .o..o#o. . / / . . . '._.' From owner-crossfire Fri Apr 5 05:28:14 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 5 Apr 1996 05:28:14 +0200 Received: from u98.CS.Berkeley.EDU (u98.CS.Berkeley.EDU [128.32.38.222]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 5 Apr 1996 05:28:10 +0200 Received: (from eanders@localhost) by u98.CS.Berkeley.EDU (8.6.11/8.6.9) id TAA14367; Thu, 4 Apr 1996 19:27:58 -0800 Date: Thu, 4 Apr 1996 19:27:58 -0800 Message-Id: <199604050327.TAA14367@u98.CS.Berkeley.EDU> From: eanders@cs.berkeley.edu Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Suggestion and comments In-Reply-To: <9604021459.ZM5761@stealth.eng.pyramid.com> References: <3161945e.2817649@email2.vnet.net> <9604021459.ZM5761@stealth.eng.pyramid.com> Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO So I felt a little bad as one of the people that worked on the client for not documenting, so here is some documentation for the different pieces: If people have questions, they can feel free to send them to me. I don't expect to spend any time working on crossfire in the near future. -Eric Client side: Overall, the client talks to the server through a tcpsocket. It recieves messages telling it what to do, and it sends inputs to the server. Many of the commands are more low-level than would be preferrable, but the low-level commands mesh better with the current crossfire implementation. client.c: * this file sets up a few global variables, connects to the server, * tells it what kind of pictures it wants, adds the client and enters * the main dispatch loop * * the main event loop (event_loop()) checks the tcp socket for input and * then polls for x events. This should be fixed since you can just block * on both filedescriptors. * * The DoClient function recieves a message (an ArgList), unpacks it, and * in a slow for loop dispatches the command to the right function through * the commands table. ArgLists are essentially like RPC things, only * they don't require going through RPCgen, and it's easy to get variable * length lists. They are just lists of longs, strings, characters, and * byte arrays that can be converted to a machine independent format commands.c: * this file contains most of the commands for the dispatch loop most of * the functions are self-explanatory, the pixmap/bitmap commands recieve * the picture, and display it. The drawinfo command draws a string * in the info window, the stats command updates the local copy of the stats * and displays it. handle_query prompts the user for input. * send_reply sends off the reply for the input. * player command gets the player information. * ItemCmd grabs and display information for items in the inventory * MapScroll scrolls the map on the client by some amount * MapCmd displays the map either with layer packing or stack packing. * packing/unpacking is best understood by looking at the server code * (server/ericserver.c) * stack packing is easy, for every map entry that changed, we pack * 1 byte for the x/y location, 1 byte for the count, and 2 bytes per * face in the stack. * layer packing is harder, but I seem to remember more efficient: * first we pack in a list of all map cells that changed and are now * empty. The end of this list is a 255, which is bigger that 121, the * maximum packed map location. * For each changed location we also pack in a list of all the faces and * X/Y coordinates by layer, where the layer is the depth in the map. * This essentially takes slices through the map rather than stacks. * Then for each layer, (max is MAXMAPCELLFACES, a bad name) we start * packing the layer into the message. First we pack in a face, then * for each place on the layer with the same face, we pack in the x/y * location. We mark the last x/y location with the high bit on * (11*11 = 121 < 128). We then continue on with the next face, which * is why the code marks the faces as -1 if they are finished. Finally * we mark the last face in the layer again with the high bit, clearly * limiting the total number of faces to 32767, the code comments it's * 16384, I'm not clear why, but the second bit may be used somewhere * else as well. * The unpacking routines basically perform the opposite operations. player.c: * does most of the work for sending messages to the server * Again, most of these appear self explanatory. Most send a bunch of * commands like apply, examine, fire, run, etc. This looks like it * was done by Mark to remove the old keypress stupidity I used. item.c: * I didn't write this piece, so don't really know how it works. Server Side: server/ericserver.c: * This file implements all of the goo on the server side for handling * clients. It's got a bunch of global variables for keeping track of * each of the clients. * SWH sends a message, protecting against certain exceptions being thrown. * InitConnection initializes the connection with the client, and sends * the server's protocol version (the client sends one of these too) * PlayerCmd executes commands from the player * VersionCmd checks the version number of the client * AddMeCmd adds the player to the game. * KeyConversion/KeyPress/KeyRelease are deprecated. * Examine,Apply,Move Cmd handle those things * dropconnection destroys the connection from the client. * init_ericserver reads in all of the bitmap information, and initializes * lots of spoo. * CmdMapping is the dispatch table for the server, used in HandleClient, * which gets called when the client has input. * esrv_remove_player removes a player (called from xfire sources) * esrv_drawinfo sends drawing info to the client * send_query asks the client to query the user * esrv_print_msg draws a normal message on the client * esrv_write_ch is deprecated * esrv_foo and esrv_bar are for debugging and just ship across server * messages * esrv_update_stats sends a statistics update. * blah blah blah more esrv_* commands * esrv_send_face sends a face to a client if they are in pixmap mode * nothing gets sent in bitmap mode. * esrv_map_new starts updating the map * esrv_map_clearcell clears a map cell * esrv_map_setbelow allows filling in all of the faces for the map. * if a face has not already been sent to the client, it is sent now. * mapcellchanged, compactlayer, compactstack, perform the map compressing * operations * esrv_map_doneredraw finishes the map update, and ships across the * map updates. * esrv_map_scroll tells the client to scroll the map, and does similarily * for the locally cached copy. From owner-crossfire Thu Apr 4 19:24:21 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 4 Apr 1996 19:24:21 +0200 Received: from external.BSDI.COM (external.BSDI.COM [205.230.225.2]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 4 Apr 1996 19:24:17 +0200 Received: from lilith.BSDI.COM (root@lilith.BSDI.COM [205.230.224.39]) by external.BSDI.COM (8.7.4/8.7.3) with ESMTP id KAA07672; Thu, 4 Apr 1996 10:24:13 -0700 (MST) Received: from lilith.BSDI.COM (kelly@LOCALHOST [127.0.0.1]) by lilith.BSDI.COM (8.7.3/8.7.3) with ESMTP id KAA14941; Thu, 4 Apr 1996 10:23:41 -0700 (MST) Message-Id: <199604041723.KAA14941@lilith.BSDI.COM> Mime-Version: 1.0 To: Nathan Sargent Cc: crossfire@ifi.uio.no Subject: Re: CF: new server In-reply-to: Your message of Thu, 04 Apr 1996 09:15:01 PST. Date: Thu, 04 Apr 1996 10:23:40 -0700 From: Kelly Alexander Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Nathan Sargent writes: > After getting onto your server, it seemed as if all of the pixmaps were > jumbled. (i.e. doors looked like ogres, my gold coin look like a demon > generator, etc.) I tried to do xpm, but it was taking way too long to load, I had the same problem at first. I had a 92.2 version of the crossfire.pcf in my crossfire "fonts" directory. I got the 92.3 version and put it in place and it works OK now. I'm actually playing from a client machine to clean up problems that other players will see. --- ==================================================================== /\ Kelly Alexander Berkeley Software Design, Inc. /\/ \ kelly@bsdi.com 5575 Tech Center Dr. #110 / \ \ 719-593-9445 Colorado Springs, CO 80919 ==================================================================== From owner-crossfire Thu Apr 4 19:02:12 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 4 Apr 1996 19:02:12 +0200 Received: from www.latexnet.org (wakko@ppp110.callamer.com [199.74.141.110]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 4 Apr 1996 19:02:08 +0200 Received: (from wakko@localhost) by www.latexnet.org (8.6.12/8.6.9) id JAA00319; Thu, 4 Apr 1996 09:15:01 -0800 Date: Thu, 4 Apr 1996 09:15:01 -0800 (GMT-0800) From: Nathan Sargent Mime-Version: 1.0 To: Kelly Alexander cc: crossfire@ifi.uio.no Subject: Re: CF: new server In-Reply-To: <199604031821.LAA10522@lilith.BSDI.COM> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO After getting onto your server, it seemed as if all of the pixmaps were jumbled. (i.e. doors looked like ogres, my gold coin look like a demon generator, etc.) I tried to do xpm, but it was taking way too long to load, so I just forgot about that. But as for the pixmaps, am I doing something wrong on my end? The command line I used is as follows: crossclient -server (your ip) -display 199.74.141.110:0.0 Am I missing something? Thanks Nathan From owner-crossfire Thu Apr 4 09:46:22 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 4 Apr 1996 09:46:22 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 4 Apr 1996 09:46:18 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA00426; Wed, 3 Apr 96 23:45:46 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA15344; Thu, 4 Apr 96 07:45:44 GMT From: "Mark Wedel" Message-Id: <9604032345.ZM15342@stealth.eng.pyramid.com> Date: Wed, 3 Apr 1996 23:45:43 -0800 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: misc notes. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Catching up on all my mail - this message is quite long, and contains various not especially related topics. As a side note, any patches I received have been applied/merged in, but I didn't respond to each individual message. > "E. Tobias Evans" wrote on Tue Mar 19 16:59:41 1996 > >Also, I've noticed there are shloads of different kinds of weapons with >very little practical difference between them. Why not make them act >more like real weapons. For instance, assign them a quantity of >inertia depending on their shape and material that affects weapon >speed. Also, durability and have them break down occasionally, >depending on the weapon, for instance a sword getting knicked or dull >or the chain on a morningstar breaking. It seems like a waste to have >all those neat weapon symbols without any big difference between them. >I'm not a comp. Sci. type and these are just suggestions. Thank you >very much for your concern. Right now, the different weapons do have different speed values. Use a dagger and see what your weapon speed is. Now, try picking up a chair. The weapon speeds were determined long before I ever got involved in the game, but I will assume that the values chosen do correspond at least to some level on physical values. As for breakage, this gets a bit harder. In a real situation, a weapon that has been used a lot should have a larger chance of breakage (stress, etc.) This does get into a problem in which you have 20 different swords that aren't grouped together simply because of slightly different usage. That said, you can just give weapons a constant chance. But degradation should probably be determined by what you are attack. If you are attack a blob, it is pretty unlikely that your sword will get damaged in any way - however, if attack something in plate (or dragon scales), it probably would be. But how you determine each one gets pretty complicated (if you base possible damage just on AC, this fails against monsters that have AC due to high dexterity) So that pretty much leaves the idea of weapons just having a random chance per any attack of being damaged (or perhaps, only chance of degradation if a 1 is rolled to hit). This isn`t that hard to do, but exact details would need to be worked out. The chance of a +4 weapon breaking should be very small. > Sam Glasby wrote on Fri, 29 Mar 1996 00:26:45 -0700 (MST) >Cc: sglasby@primenet.com > So, I have some ideas on interface niceties, >config files, and so on, and I've read all the docs >that came with 0.92.3, but I'm not familiar with >the overall structure of Crossfire, and the docs >are somewhat sparse. Obviously, we need to write more >and better, and more up-to-date, docs. Unfortunately, docs seems to be about the last things updated. >Interface Nicety problems: >-------------------------- >o I observed (with 0.91.8, and moreso with 0.92.3) > some problems with keybindings from def_keys > which I believe are related to overlapping of > keybindings on the same key, one with, and one without, > a mode (like Run-mode) applied. > Example: '<' bound to "rotateinventory -1" > ',' bound to "pickup" > '<' acts like it is unbound...until manually bound > by player. In 0.92.3 I had this problem with 'A' > also! (Hard to play without that! :-) > Has anyone else seen this? I haven't seen this - I'll have to try it. A lot can depend on the keyboard and key code mapping. >o "clearinfo" does nothing when "scroll" is on. > Sounds intentional, given the appearance of "scroll" > (text hugs bottom), I propose a more configurable > behavior: > scrollmode on/off (by "scroll" and "wrap") determines > whether the text in message window scrolls, or wraps > from bottom-->top. > clearmode on/off (by "cleartop" and "clearbottom") > determines whether text hugs the top of the screen > (and then goes down, to scroll or not as per scrollmode) > or or hugs the bottom of the screen, to scroll > until window full, and then scroll/wrap as per scrollmode. > Both current behaviors (scroll on/off) could be achieved > in this fashion, as well as one which I would favor > for default..."scroll" + "cleartop", wherein text > sticks to the top after "clearinfo", and then scrolls > down, scrolling when the window fills. > > Something could be done with an X scrollbar also. > (particularly for long texts...like "unbind -g") > It was certainly intentional that when using scrollmode the clearscreen does nothing. This was more an issue because there are quite a few areas that clear the screen, and I found it quite annoying to have the screen cleared all the time. I actually did put a scrollbar in the new client (it also deals better with keeping track of colors in scrollback.) I was going to put it in the server, but had better things to do. This is also because eventually because the client is something that will be the default user environment, and it seemed like a bit of a wasted effort to merge something that will eventually go away. >o It would be a major change, but likely worthwhile > as far as human-readability goes, to convert the > parsing of archetype files from using decimal > representation for values (stuff like > immunities: 1235672), to something which would > take also: > Hex representation as per C (immunities: 0xFF34AE7B) > and/or octal, and > Symbolic notation with logical operators: > immunities: AF_FIRE & AF_MAGIC & AF_CONFUSION Probably a nice idea. For all the archetypes in place (and new ones, for that matter), they can be left as is - when creating a new one, it isn't too hard to figure out these values. What would be a nice touch is to make these easily setable in crossedit - just toggle a few buttons or something and you get the values you want. Just have the editor convert to this number. > I plan to start such a document as I explore the >source (and keep notes on what I find), if anyone >has notes/docs of that sort, send them to me and I shall >add their content to whatever sort of doc I end up >creating. I also have thoughts about revising/updating >some existing docs. All of this needs to be done - as previously said, docs tend to be the last thing updated. If you do have questions about how something works, send me some mail. I can't promise a timely reply, but there is a good chance I can give you at least some useful information. -- --Mark From owner-crossfire Wed Apr 3 20:15:24 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 3 Apr 1996 20:15:24 +0200 Received: from www.latexnet.org (wakko@ppp110.callamer.com [199.74.141.110]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 3 Apr 1996 20:15:20 +0200 Received: (from wakko@localhost) by www.latexnet.org (8.6.12/8.6.9) id KAA03678; Wed, 3 Apr 1996 10:28:04 -0800 Date: Wed, 3 Apr 1996 10:28:03 -0800 (GMT-0800) From: Nathan Sargent Mime-Version: 1.0 To: Kelly Alexander cc: crossfire@ifi.uio.no Subject: Re: CF: new server In-Reply-To: <199604031621.JAA10050@lilith.BSDI.COM> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I have been trying to compile the crossclient (among other crossfire components) on BSDI 2.0, but have been unsuccessful. If you are using 2.0 (or 2.01) could you possibly give me some help on doing so? Thanks Nathan From owner-crossfire Wed Apr 3 20:22:12 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 3 Apr 1996 20:22:12 +0200 Received: from external.BSDI.COM (external.BSDI.COM [205.230.225.2]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 3 Apr 1996 20:22:07 +0200 Received: from lilith.BSDI.COM (root@lilith.BSDI.COM [205.230.224.39]) by external.BSDI.COM (8.7.4/8.7.3) with ESMTP id LAA02988; Wed, 3 Apr 1996 11:21:58 -0700 (MST) Received: from lilith.BSDI.COM (kelly@LOCALHOST [127.0.0.1]) by lilith.BSDI.COM (8.7.3/8.7.3) with ESMTP id LAA10522; Wed, 3 Apr 1996 11:21:27 -0700 (MST) Message-Id: <199604031821.LAA10522@lilith.BSDI.COM> Mime-Version: 1.0 To: Nathan Sargent Cc: crossfire@ifi.uio.no Subject: Re: CF: new server In-reply-to: Your message of Wed, 03 Apr 1996 10:28:03 PST. Date: Wed, 03 Apr 1996 11:21:27 -0700 From: Kelly Alexander Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Nathan Sargent writes: > I have been trying to compile the crossclient (among other crossfire > components) on BSDI 2.0, but have been unsuccessful. If you are using 2.0 > (or 2.01) could you possibly give me some help on doing so? I've compiled it on 2.0.1 and 2.1. I just did an xmkmf, make Makefiles, make depend, make and it compiles ok. (after the editing of crosssite.def). what sequence do you use and what errors do you get? --- ==================================================================== /\ Kelly Alexander Berkeley Software Design, Inc. /\/ \ kelly@bsdi.com 5575 Tech Center Dr. #110 / \ \ 719-593-9445 Colorado Springs, CO 80919 ==================================================================== From owner-crossfire Wed Apr 3 18:22:01 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 3 Apr 1996 18:22:01 +0200 Received: from external.BSDI.COM (external.BSDI.COM [205.230.225.2]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 3 Apr 1996 18:21:57 +0200 Received: from lilith.BSDI.COM (root@lilith.BSDI.COM [205.230.224.39]) by external.BSDI.COM (8.7.4/8.7.3) with ESMTP id JAA25963 for ; Wed, 3 Apr 1996 09:21:54 -0700 (MST) Received: from lilith.BSDI.COM (kelly@LOCALHOST [127.0.0.1]) by lilith.BSDI.COM (8.7.3/8.7.3) with ESMTP id JAA10050 for ; Wed, 3 Apr 1996 09:21:24 -0700 (MST) Message-Id: <199604031621.JAA10050@lilith.BSDI.COM> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: new server Date: Wed, 03 Apr 1996 09:21:23 -0700 From: Kelly Alexander Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I setup a server running crossfire 0.92.3 and if anyone would like to use it, please do so. the machine is pita.bsdi.com (205.230.224.45) and the server is on the standard port. 92.3 seems to crash fairly easily, so I may go back a rev if the server gets a lot of use and crashing becomes a problem. --- ==================================================================== /\ Kelly Alexander Berkeley Software Design, Inc. /\/ \ kelly@bsdi.com 5575 Tech Center Dr. #110 / \ \ 719-593-9445 Colorado Springs, CO 80919 ==================================================================== From owner-crossfire Wed Apr 3 08:09:06 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 3 Apr 1996 08:09:06 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 3 Apr 1996 08:09:02 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id BAA18325; Wed, 3 Apr 1996 01:08:53 -0500 Date: Wed, 3 Apr 1996 01:08:53 -0500 From: Brian Thomas Message-Id: <199604030608.BAA18325@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: jonathan.h.fine@cdc.com, farrarb@vnet.net Subject: Re: CF: Suggestion and comments Cc: crossfire@ifi.uio.no Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > Bill writes: > > Any thoughts? A Windows client would probably achieve the stated goal of expanding the popularity of CF more than any one other software objective I know of. Ken Woodruff (you still out there Ken??) once stated that he was interested in programing the client. -b.t. From owner-crossfire Wed Apr 3 01:00:22 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 3 Apr 1996 01:00:22 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Wed, 3 Apr 1996 01:00:16 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA24160; Tue, 2 Apr 96 14:59:43 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA05764; Tue, 2 Apr 96 22:59:40 GMT From: "Mark Wedel" Message-Id: <9604021459.ZM5761@stealth.eng.pyramid.com> Date: Tue, 2 Apr 1996 14:59:38 -0800 In-Reply-To: farrarb@vnet.net (Bill Farrar) "Re: CF: Suggestion and comments" (Apr 2, 9:06pm) References: <3161945e.2817649@email2.vnet.net> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: farrarb@vnet.net (Bill Farrar), Patrick Kenny Subject: Re: CF: Suggestion and comments Cc: crossfire@ifi.uio.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Apr 2, 9:06pm, Bill Farrar wrote: > Subject: Re: CF: Suggestion and comments > On Tue, 2 Apr 1996 14:22:56 -0500 (EST), Patrick Kenny wrote: > I know it's not a client/server achitecture, I was proposing it to > keep the server from slowing down at >10 players..Let's face it: if > the local client dealt with the screen display, then that would be n > less things the server had to do (with n = number of players), and a > complicted thing at that. All that has to be put in place is a simple > protocol that tells the clients where are the monsters on their loaded > maps are. (and ferry movement info from player to player) In other > words, basically what CivNet is doing now already. > Right now, by default no client/server is used by default. All that crossclient is is a simple front end that does a telnet, sets a few variables, and exits. By default, the server does everything - a lot of people will telnet directly to the server to connect. Work has been started on a new smart client - it is marginally usuable. Unfortunately, the person who did most all of the work has moved on to other stuff, and while left us working code, didn't really leave much documentation on what it does. I believe someone was working on cleaning this up and documenting it. With a smart client, display capabilities shouldn't be as required - in theory, you can make a mac or pc client. I won't go into anything about hte protocol and how the smart client works - this has already been done a few times. If interested, look through old mail logs and grab a cfclient version off the ftp site. > Well, there *is* cross edit, y'know:) We are workign on new maps > here, and we've only been playing for a few weeks. The ideal thing is > to give this away as a prize for being a specific level (You made > level 100 (or whatever) you can now write new areas!!!) Again, this is > not that different than MUDs i have played. > One 'problem' is that there are so many maps that it can be hard to know if you have done most or all of them. Most of the older adventure games have some path you tend to follow through, so you will end up hitting most all the maps before you finish with the game. Crossfire doesn't do that - you can go to any map pretty much (some you will quickly die.) But many maps don't have much purpose beyond something to kill and get some quick experience. Some maps do have isolated quests (ie, a series of maps you need to do to get some prize. (demonology maps as an example.)) These are quite good, but if you don't about the maps, you obviously won't visit the map. Right now, there rae a lot of maps out there that can easily be missed - there just isn't the information to know about them. The inn in the starting town tells about a good number, but there is a fair number of maps that aren't really mentioned anyplace. What would be nice and add some color is better quests. Maybe have various kings/rulers in areas who will send people on quests - if they complete it, they get some bonus, as well as some invisible object so they can't do it again (and so that they won't get sent on that quest again.) I have some ideas on how some of this can be done, but a fair amount of new code would need to be added (a better parsing scheme is still needed.) Random maps are something that probably wouldn't be really hard to do - random encounters sort of do that right now. These could be expanded a bit, and with some more hacking, random dungeouns could probably be made. Use the old idea of geomorphs - maybe 10x10 maps with exits in standard places, and glue a bunch together to get a map. Some extra code for edges and stairs might be needed. Not really sure if it is worth the effort - there doesn't seem to much that much of a shortage of maps. > Well, i think with the current ability of the server to handle > players, at the speed it does, the game will have to *stay* local. > Only when that is changed will there be a major step up in external > ppl playing. One of the bigger problems is that the server does all display, and the server will tend to be limited by the slowest display on the system. Getting client/server will fix that. -- --Mark From owner-crossfire Tue Apr 2 23:10:26 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 2 Apr 1996 23:10:26 +0200 Received: from ginger.vnet.net (root@ginger.vnet.net [166.82.1.69]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 2 Apr 1996 23:10:22 +0200 Received: from errant.thought.net (errant.thought.net [166.82.11.170]) by ginger.vnet.net (8.6.12/8.6.12) with SMTP id JAA13575; Tue, 2 Apr 1996 09:53:40 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: Patrick Kenny Cc: crossfire@ifi.uio.no Subject: Re: CF: Suggestion and comments Date: Tue, 02 Apr 1996 21:06:42 GMT Organization: Kaos, Inc Message-Id: <3161945e.2817649@email2.vnet.net> References: In-Reply-To: X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Tue, 2 Apr 1996 14:22:56 -0500 (EST), Patrick Kenny wrote: > >2) It's not really a client/server architecture. The server really slows >down when there are 10 or more people on. And when some people put up >lightning walls all around a Jessy or fire walls around a Wizzard, then >it gets so bad you have to log out, and this is with only 2 or 3 people on. I know it's not a client/server achitecture, I was proposing it to keep the server from slowing down at >10 players..Let's face it: if the local client dealt with the screen display, then that would be n less things the server had to do (with n = number of players), and a complicted thing at that. All that has to be put in place is a simple protocol that tells the clients where are the monsters on their loaded maps are. (and ferry movement info from player to player) In other words, basically what CivNet is doing now already. >3) It takes awhile to play and learn, not really bad, but most people are >used to instant pleasure, x-pilot shoot-um up games. >Although look at Empire, it has quite a large following, and there is a very >steep learning curve on that. That has *always* been the case with muds, it always takes time... Let the shoot-em-up ppl play the shoot-em-up games..that isn't who i am, and there has always been a big mudding contingent, i really think that is the potential 'market' for crossfire... >4) Once you have explored all of the maps, then that's it. No more stuff >to do. If you had a dynamic dungeon creator like in hack or Moria or Angband >then you would have a reason to keep exploring the same dungeon. I have >thought about adding this. Imagine a dynamic ever changing world. :) Well, there *is* cross edit, y'know:) We are workign on new maps here, and we've only been playing for a few weeks. The ideal thing is to give this away as a prize for being a specific level (You made level 100 (or whatever) you can now write new areas!!!) Again, this is not that different than MUDs i have played. >5) Maybe there are servers running, but they are local. I know that when >the lab here played, we had about 7 or 8 people playing for about 3-4 months, >almost non-stop, but the server was local to cut down on lag and give more >control. Well, i think with the current ability of the server to handle players, at the speed it does, the game will have to *stay* local. Only when that is changed will there be a major step up in external ppl playing. >6) Doom/Quake is where everyone is right now, not that many people are >running under X, Quake is trying to be like Crossfire, in about 5 years it >might. Quake is supposed to be server/client so you will see more >dedicated servers appear. I don't think that crossfire is really in the same genre as these games...i like the fact that it isn't 3-d and has complex magical items/spellcasting which neither doom nor hexen seem to have (haven't seen/heard mucha bout quake) >People will find it out, it just takes time. Becareful what you ask for. You just might get it? well, so long as i don't get a shoo-em-up, and crossfire stays the same *game* that is now (i'm mainly talking about technical implementation details) i think it will be good:) bill Bill Farrar, C++Windows Programmer. The Linking and Binding is the Important step... "60 Million Gigabits can do alot. It can even do Windows" Fred Pohl, _Beyond_The_Blue_Event_Horizon_ From owner-crossfire Tue Apr 2 21:24:18 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 2 Apr 1996 21:24:18 +0200 Received: from krusty.eecs.umich.edu (pkenny@krusty.eecs.umich.edu [141.212.36.18]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 2 Apr 1996 21:24:09 +0200 Received: (from pkenny@localhost) by krusty.eecs.umich.edu (8.7.3/8.7.3) id OAA06532; Tue, 2 Apr 1996 14:22:57 -0500 (EST) Date: Tue, 2 Apr 1996 14:22:56 -0500 (EST) From: Patrick Kenny Mime-Version: 1.0 To: crossfire@ifi.uio.no cc: Patrick Kenny Subject: Re: CF: Suggestion and comments In-Reply-To: <31615b59.61002352@email2.vnet.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Tue, 2 Apr 1996, Bill Farrar wrote: > >POPULARITY/ACCESSIBILITY OF CROSSFIRE I think the main reasons that crossfire does not seem that popular are: 1) The avaibility of servers to play on. There just are that many with out major lag. 2) It's not really a client/server architecture. The server really slows down when there are 10 or more people on. And when some people put up lightning walls all around a Jessy or fire walls around a Wizzard, then it gets so bad you have to log out, and this is with only 2 or 3 people on. 3) It takes awhile to play and learn, not really bad, but most people are used to instant pleasure, x-pilot shoot-um up games. Although look at Empire, it has quite a large following, and there is a very steep learning curve on that. 4) Once you have explored all of the maps, then that's it. No more stuff to do. If you had a dynamic dungeon creator like in hack or Moria or Angband then you would have a reason to keep exploring the same dungeon. I have thought about adding this. Imagine a dynamic ever changing world. :) 5) Maybe there are servers running, but they are local. I know that when the lab here played, we had about 7 or 8 people playing for about 3-4 months, almost non-stop, but the server was local to cut down on lag and give more control. 6) Doom/Quake is where everyone is right now, not that many people are running under X, Quake is trying to be like Crossfire, in about 5 years it might. Quake is supposed to be server/client so you will see more dedicated servers appear. There is a book out about net.game and I think it talks about crossfire, I know it talks about xpilot. People will find it out, it just takes time. Becareful what you ask for. ! Patrick Kenny (pkenny@eecs.umich.edu) ! ! (University of Michigan AI and Robotics Lab) ! ! http://ai.eecs.umich.edu/people/kennyp/pkenny.html ! ! Have you Hugged your Artificial Intelligence Today? ! From owner-crossfire Tue Apr 2 19:12:28 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 2 Apr 1996 19:12:28 +0200 Received: from ginger.vnet.net (root@ginger.vnet.net [166.82.1.69]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 2 Apr 1996 19:12:25 +0200 Received: from errant.thought.net (errant.thought.net [166.82.11.170]) by ginger.vnet.net (8.6.12/8.6.12) with SMTP id FAA08857; Tue, 2 Apr 1996 05:57:25 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: jonathan.h.fine@cdc.com Cc: crossfire@ifi.uio.no Subject: Re: CF: Suggestion and comments Date: Tue, 02 Apr 1996 17:09:48 GMT Organization: Kaos, Inc Message-Id: <31615b59.61002352@email2.vnet.net> References: In-Reply-To: X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Tue, 2 Apr 1996 09:43:36 -0500 (EST), you wrote: > >TEXT WINDOW SUGGESTION Hmm...this seems to be a setting in crossfire now...this can be done with the 'scroll command > >============================================================ > >POPULARITY/ACCESSIBILITY OF CROSSFIRE > >Also, it surprises me that Crossfire isn't even more popular. People >have been begging for graphical multiplayer games and MU* for ages, >and of course the demand for WebMUD's and JavaMUD's have been hyped in >recent years. Hmmm...as far as this goes here are my thoughts: 1) Not everybody has X. I had to get it special to play crossfire:) 2) Because the client must run on the same machine as the server, it is a *real* resource hog...and concordantly lowers the number of potential players. 3) Compiling per/se is not that big a deal, plenty of ppl do it already to make muds (i'd probably add a perl ./configure script to make it super easy:) So what I want to know, is how do the client and server talk to each other, or does the server draw everything on my screen? I'd like to know, b/c I can proabaly write an interface in Vis C++ (ok so I'm an evil windows user, sue me:) I don't really know that much about X, or about how this has been implemented (haven't delved into the code yet)..but I do want to learn that:) Any thoughts? bill Bill Farrar, C++Windows Programmer. The Linking and Binding is the Important step... "60 Million Gigabits can do alot. It can even do Windows" Fred Pohl, _Beyond_The_Blue_Event_Horizon_ From owner-crossfire Tue Apr 2 16:43:24 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 2 Apr 1996 16:43:24 +0200 Received: from dtr4330.dtr.cdc.com ([129.179.220.100]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 2 Apr 1996 16:43:16 +0200 Received: from java.dtr.cdc.com by dtr4330.dtr.cdc.com (5.61/1.34) id AA23960; Tue, 2 Apr 96 09:42:42 -0500 Date: Tue, 2 Apr 1996 09:43:36 -0500 (EST) From: Jonathan Fine Reply-To: jonathan.h.fine@cdc.com Mime-Version: 1.0 To: Crossfire List Subject: CF: Suggestion and comments Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO TEXT WINDOW SUGGESTION I'm currently running the 0.92.3 server, and I'd like to make a suggestion regarding the text window (the window where text is displayed and commands may be typed). I'm using Solaris 2.5's dtwm windowing manager, if that makes any difference. Currently when text hits the bottom of this window, the text is wrapped to the top of the window and overwrites the previous text. It's often times difficult to quickly locate where the current or most recent text is at because it can be placed anywhere within the window and it is overwritten in existing text. I'd like to suggest that with future releases of Crossfire, a scrollable window be used instead for the text window. (i.e. text continually scrolls towards the bottom, and a scrollbar can be used to view the previous text buffers.) ============================================================ POPULARITY/ACCESSIBILITY OF CROSSFIRE Also, it surprises me that Crossfire isn't even more popular. People have been begging for graphical multiplayer games and MU* for ages, and of course the demand for WebMUD's and JavaMUD's have been hyped in recent years. If expanding the current developer/player base is one of Crossfire's goals, then perhaps introducing the readers of rec.games.mud.* would help increase Crossfire's popularity. Talk about Crossfire on rec.games.roguelike.misc is all but non-existent. I think having precompiled versions of the crossclient that people could use would also help increase Crossfire's accessibility for people who don't have the knowledge (or maybe even diskspace) to compile source code. I would be willing to put together the precompiled versions for Solaris 2.3 and/or Solaris 2.5. (Strangely enough, I don't think we have Solaris 2.4 anywhere.) Ok, that's all now. If you've managed to make it this far through, thanks for putting up with the rambling. ;) Jonathan From owner-crossfire Tue Apr 2 10:40:30 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 2 Apr 1996 10:40:30 +0200 Received: from mne.ifi.uio.no (1232@mne.ifi.uio.no [129.240.70.5]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 2 Apr 1996 10:40:28 +0200 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Tue, 2 Apr 1996 10:40:27 +0200 Message-Id: <199604020840.8946.mne.ifi.uio.no@ifi.uio.no> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: should I setup a server? Date: Mon, 01 Apr 1996 22:34:11 -0700 From: Kelly Alexander Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I've got some spare hardware and was thinking of setting up a crossfire server. Are there enough servers out there already or would this be a worthwhile project? --- ==================================================================== /\ Kelly Alexander Berkeley Software Design, Inc. /\/ \ kelly@bsdi.com 5575 Tech Center Dr. #110 / \ \ 719-593-9445 Colorado Springs, CO 80919 ====================================================================