From owner-crossfire Mon Apr 1 08:38:04 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 1 Apr 1996 08:38:04 +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, 1 Apr 1996 08:38:01 +0200 Received: from handel.seattleu.edu.seattleu.edu by elvis.seattleu.edu (4.1/SMI-4.1) id AA28515; Sun, 31 Mar 96 22:34:55 PST Received: by handel.seattleu.edu.seattleu.edu (4.1/SMI-4.1) id AA23543; Sun, 31 Mar 96 22:34:38 PST Date: Sun, 31 Mar 1996 22:29:57 -0800 (PST) From: "Kristofer M. Bosland" Subject: CF: ability_x Mime-Version: 1.0 To: CrossFire Mailing List Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I am a terrible cheat, and love poking around in the files and creating super artifacts for my charaters. I was just wondering, what would happen if I gave one of the ability_??? treasures to one of the character classes, and then created a character of that type? Would they even be able to use the ability? It's really too bad that the proposed C++ rewrite of CrossFire fell apart, because it seems that in several places, the code is growing into similar abstractions. It would be really wonderful to reverse engineer a root abstract system and rebuild CrossFire with the appropriate objects. C++, anyone? -Kris Bosland From owner-crossfire Sun Mar 31 19:23:29 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 19:23:29 +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, 31 Mar 1996 19:23:27 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id MAA14509; Sun, 31 Mar 1996 12:23:13 -0500 Date: Sun, 31 Mar 1996 12:23:13 -0500 From: Brian Thomas Message-Id: <199603311723.MAA14509@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: tdoan@bnr.ca Subject: CF: Re: Testing lighting code Cc: crossfire@ifi.uio.no Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hi Tuan, I ll have to address your queries (from long ago!, sorry I got a back log..). > Finally, I'm getting some archetype errors when I installed your maps This is because you have to install the archetypes too. Look in ftp.astro.psu.edu in pub/thomas. Grab the latest archetypes file and install that. I m not sure if there are directions. Let me know how you make out, either the most recent or past recent archetypes file had some problem, and I forget. I can remake it if need be. > What does the spell faery fire do? This spell makes all living things (but caster) glow in the dark. > The behavior of darkness spell (or > rather its effects) is somewhat strange. For example, > dddd > d.td T > dddd > where d's are the square with darkness, t is a player with no light source, > T is a player with lightsource and . is an item. When T approaches t, t > is able to see . eventhough there is a wall of darkness surrounding him. If the room is dark, then this is a problem (the square . is in should be dark!). The darkness spell only provides blockage to LOS (like a wall). It has no 'extended' effects beyond its own square--so this does seem to be a problem after all. I will check it out. > However, there seems to be a bug when trying use flint and > steel with no item at the top of the item list. The system said that it is > trying to light the player (possible bug?) Nah. This is right. I assume if you are applying flint and steel with nothing else to light, you try to light yourself :) > Also, is it possible to stop and start the light source; for example, put > out the torch (to save fuel) and re-light it at later time? Not at this time. This is definitely something that should be worked on. -b.t. From owner-crossfire Sun Mar 31 17:15:33 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 17:15:33 +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, 31 Mar 1996 17:15:29 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id KAA14486 for crossfire@ifi.uio.no; Sun, 31 Mar 1996 10:15:28 -0500 Date: Sun, 31 Mar 1996 10:15:28 -0500 From: Brian Thomas Message-Id: <199603311515.KAA14486@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: blindness patch Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO The following patch will fix up things for the big monsters. Basically, if a monster has see_invisible, it cant be effected by blindness. Since all the big monsters (exp Gaellotroll) have see_invis, your playbalance problems should (mostly) disappear. Someone should probably give the gaelotroll see_invis to round out the playbalance. b.t. ps. if you cant figure it out, apply this to server/monster.c *** ../../tarfiles/crossfire-0.92.3/server/monster.c Thu Mar 7 03:38:23 1996 --- ./monster.c Sun Mar 31 09:52:01 1996 *************** *** 74,84 **** int check_wakeup(object *op, object *enemy) { int radius = op->stats.Wis>MIN_MON_RADIUS?op->stats.Wis:MIN_MON_RADIUS; objectlink *ol; /* blinded monsters can only find nearby objects to attack */ ! if(QUERY_FLAG(op, FLAG_BLIND)) radius = MIN_MON_RADIUS; #ifdef USE_LIGHTING /* This covers the situation where the monster is in the dark * and has an enemy. If the enemy has no carried light (or isnt * glowing!) then the monster has trouble finding the enemy. --- 74,84 ---- int check_wakeup(object *op, object *enemy) { int radius = op->stats.Wis>MIN_MON_RADIUS?op->stats.Wis:MIN_MON_RADIUS; objectlink *ol; /* blinded monsters can only find nearby objects to attack */ ! if(QUERY_FLAG(op, FLAG_BLIND)&&!QUERY_FLAG(op, FLAG_SEE_INVISIBLE)) radius = MIN_MON_RADIUS; #ifdef USE_LIGHTING /* This covers the situation where the monster is in the dark * and has an enemy. If the enemy has no carried light (or isnt * glowing!) then the monster has trouble finding the enemy. From owner-crossfire Sun Mar 31 13:27:20 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 13:27:20 +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, 31 Mar 1996 13:27:18 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id GAA14234 for crossfire@ifi.uio.no; Sun, 31 Mar 1996 06:27:16 -0500 Date: Sun, 31 Mar 1996 06:27:16 -0500 From: Brian Thomas Message-Id: <199603311127.GAA14234@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: weapon immunity archs... Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I found archs like "improve_w_lightningproof" in the archetypes file. Playing around showed that there is no code in place to make these work. Why are they in the distribution then?? -b.t. From owner-crossfire Sun Mar 31 11:57:10 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 11:57:10 +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, 31 Mar 1996 11:57:07 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id EAA13697 for crossfire@ifi.uio.no; Sun, 31 Mar 1996 04:57:06 -0500 Date: Sun, 31 Mar 1996 04:57:06 -0500 From: Brian Thomas Message-Id: <199603310957.EAA13697@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: more on that patch Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I already got some mail asking for the earlier patches. Ok, I put all three together into a tar file 'lit.tar.gz'. When I get the chance I will upload them to my ftp site at ftp.astro.psu.edu (directory /pub/thomas). -b.t. From owner-crossfire Sun Mar 31 11:52:18 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 11:52: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 ; Sun, 31 Mar 1996 11:52:16 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id EAA13657 for crossfire@ifi.uio.no; Sun, 31 Mar 1996 04:52:14 -0500 Date: Sun, 31 Mar 1996 04:52:14 -0500 From: Brian Thomas Message-Id: <199603310952.EAA13657@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: oops... Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO If you are about to apply the last patch,..don't! If you already did.. no problem. I inadvertently included some code from my alchemy hack in the last patch. The real patch to apply is the following one. The reason the last patch wont cause problems, is that it patches a part of the code w/ is currently ifdef 0. cheers, b.t. *** ../../tarfiles/crossfire-0.92.3/common/readable.c Thu Mar 7 03:38:10 1996 --- ../common/readable.c Sun Mar 31 04:02:07 1996 *************** *** 94,103 **** --- 94,104 ---- default: strcpy(msgbuf, msgfile_msg(level,book_buf_size)); break; } + strcat(msgbuf,"\n"); /* safety -- we get ugly map saves/crashes w/o this */ if(strlen(msgbuf)>1) { if(book->msg) free_string(book->msg); book->msg=add_string(msgbuf); } } *************** *** 315,326 **** strcpy(retbuf,"This beastuary contains:"); /* lets print info on as many monsters as will fit in our * document. */ ! while((tmp=get_random_mon(level*3))) { /* monster description */ sprintf(tmpbuf,"\n---\n%s",mon_desc(tmp)); if(!book_overflow(retbuf,tmpbuf,booksize)) strcat(retbuf,tmpbuf); --- 327,339 ---- strcpy(retbuf,"This beastuary contains:"); /* lets print info on as many monsters as will fit in our * document. */ ! while((tmp=get_random_mon(level*3))!=NULL) { + LOG(llevDebug,"Got monster: %s",tmp->name); /* monster description */ sprintf(tmpbuf,"\n---\n%s",mon_desc(tmp)); if(!book_overflow(retbuf,tmpbuf,booksize)) strcat(retbuf,tmpbuf); *************** *** 461,476 **** if(!did_first_sp) if(RANDOM()%4) /* usually, lets make a recursive call... */ sprintf(retbuf, spellpath_msg(level,booksize)); else /* give up, cause knowning no spells exist for path is info too. */ strcat(retbuf,"\n - no known spells exist -\n"); - #ifdef BOOK_MSG_DEBUG else { LOG(llevDebug,"\n spellpath_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS: path=%d pray=%d\n%s\n",path,prayers,retbuf); - } #endif return retbuf; } /* artifact_msg() - generate a message detailing the properties * of 1-6 artifacts drawn sequentially from the artifact list. --- 474,490 ---- if(!did_first_sp) if(RANDOM()%4) /* usually, lets make a recursive call... */ sprintf(retbuf, spellpath_msg(level,booksize)); else /* give up, cause knowning no spells exist for path is info too. */ strcat(retbuf,"\n - no known spells exist -\n"); else { + #ifdef BOOK_MSG_DEBUG LOG(llevDebug,"\n spellpath_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS: path=%d pray=%d\n%s\n",path,prayers,retbuf); #endif + strcat(retbuf,"\n"); + } return retbuf; } /* artifact_msg() - generate a message detailing the properties * of 1-6 artifacts drawn sequentially from the artifact list. *************** *** 755,765 **** else if(strlen(buf)>1) strcat(retbuf,buf); level--; } if(strlen(retbuf)==introlen) { /* we got no information beyond the preamble! */ strcat(retbuf," [Unfortunately the rest of the information is\n"); ! strcat(retbuf," hopelessly garbled!]\n ---"); } #ifdef BOOK_MSG_DEBUG LOG(llevDebug,"\n god_info_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS:\n%s",retbuf); #endif --- 769,779 ---- else if(strlen(buf)>1) strcat(retbuf,buf); level--; } if(strlen(retbuf)==introlen) { /* we got no information beyond the preamble! */ strcat(retbuf," [Unfortunately the rest of the information is\n"); ! strcat(retbuf," hopelessly garbled!]\n ---\n"); } #ifdef BOOK_MSG_DEBUG LOG(llevDebug,"\n god_info_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS:\n%s",retbuf); #endif *************** *** 766,776 **** return retbuf; } int book_overflow(char *buf1, char *buf2, int booksize) { ! if( buf_overflow(buf1,buf2,BOOK_BUF) || buf_overflow(buf1,buf2,booksize)) return 1; return 0; } --- 780,790 ---- return retbuf; } int book_overflow(char *buf1, char *buf2, int booksize) { ! if( buf_overflow(buf1,buf2,BOOK_BUF-2) /* 2 less so always room for trailing \n */ || buf_overflow(buf1,buf2,booksize)) return 1; return 0; } From owner-crossfire Sun Mar 31 11:45:47 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 11:45:47 +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, 31 Mar 1996 11:45:45 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id EAA13651 for crossfire@ifi.uio.no; Sun, 31 Mar 1996 04:45:43 -0500 Date: Sun, 31 Mar 1996 04:45:43 -0500 From: Brian Thomas Message-Id: <199603310945.EAA13651@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Literacy patch part 3 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Alrighty, I spent a little quality time with my code this evening and fixed (I hope) the root cause of the crashes. It would appear that endmsg is indeed the problem, but for me, it only is a problem when the map that has the problem document is saved. I found that this caused either a wonky looking map, or a crash. Either way, bad. So I fixed readable.c so that no more book messages should end w/o "/n To summerize my code changes: 1) server/init.c 2) common/item.c and 3) common/readable.c. Thats 3 patches, and I haven't installed any I didnt make. The patch for readable.c trails this message. Ok kiddos, try to break the code now :) . As before, let me know if books are still giving you problems. Im off to debug the blindness code now.... -b.t. *** ../../tarfiles/crossfire-0.92.3/common/readable.c Thu Mar 7 03:38:10 1996 --- ../common/readable.c Sun Mar 31 04:02:07 1996 *************** *** 94,103 **** --- 94,104 ---- default: strcpy(msgbuf, msgfile_msg(level,book_buf_size)); break; } + strcat(msgbuf,"\n"); /* safety -- we get ugly map saves/crashes w/o this */ if(strlen(msgbuf)>1) { if(book->msg) free_string(book->msg); book->msg=add_string(msgbuf); } } *************** *** 242,264 **** * of a randomly selected alchemical formula. */ char * formula_msg (int level, int booksize) { static char retbuf[BOOK_BUF]; ! recipelist *fl=get_formulalist(); recipe *formula=NULL; int chance; /* get a random formula, weighted by its bookchance */ chance = RANDOM()%fl->total_chance; for(formula=fl->items;formula!=NULL;formula=formula->next) { chance -= formula->chance; if(chance<=0) break; } /* preamble */ ! strcpy(retbuf,"Herein is described an alchemical experiment: \n"); /* looks like a formula was found. Base the amount * of information on the booklevel and the spellevel * of the formula. */ if(formula) { --- 243,276 ---- * of a randomly selected alchemical formula. */ char * formula_msg (int level, int booksize) { static char retbuf[BOOK_BUF]; ! recipelist *fl; recipe *formula=NULL; int chance; + /* the higher the book level, the more complex (ie number of + * ingredients) the formula can be. */ + fl = get_formulalist(((RANDOM()%level)/3)+1); + + if(!fl) fl=get_formulalist(1); /* safety */ + + if(fl->total_chance==0) { + strcpy(retbuf,"\n \n"); + return retbuf; + } + /* get a random formula, weighted by its bookchance */ chance = RANDOM()%fl->total_chance; for(formula=fl->items;formula!=NULL;formula=formula->next) { chance -= formula->chance; if(chance<=0) break; } /* preamble */ ! strcpy(retbuf,"Herein is described an alchemical proceedure: \n"); /* looks like a formula was found. Base the amount * of information on the booklevel and the spellevel * of the formula. */ if(formula) { *************** *** 315,326 **** strcpy(retbuf,"This beastuary contains:"); /* lets print info on as many monsters as will fit in our * document. */ ! while((tmp=get_random_mon(level*3))) { /* monster description */ sprintf(tmpbuf,"\n---\n%s",mon_desc(tmp)); if(!book_overflow(retbuf,tmpbuf,booksize)) strcat(retbuf,tmpbuf); --- 327,339 ---- strcpy(retbuf,"This beastuary contains:"); /* lets print info on as many monsters as will fit in our * document. */ ! while((tmp=get_random_mon(level*3))!=NULL) { + LOG(llevDebug,"Got monster: %s",tmp->name); /* monster description */ sprintf(tmpbuf,"\n---\n%s",mon_desc(tmp)); if(!book_overflow(retbuf,tmpbuf,booksize)) strcat(retbuf,tmpbuf); *************** *** 461,476 **** if(!did_first_sp) if(RANDOM()%4) /* usually, lets make a recursive call... */ sprintf(retbuf, spellpath_msg(level,booksize)); else /* give up, cause knowning no spells exist for path is info too. */ strcat(retbuf,"\n - no known spells exist -\n"); - #ifdef BOOK_MSG_DEBUG else { LOG(llevDebug,"\n spellpath_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS: path=%d pray=%d\n%s\n",path,prayers,retbuf); - } #endif return retbuf; } /* artifact_msg() - generate a message detailing the properties * of 1-6 artifacts drawn sequentially from the artifact list. --- 474,490 ---- if(!did_first_sp) if(RANDOM()%4) /* usually, lets make a recursive call... */ sprintf(retbuf, spellpath_msg(level,booksize)); else /* give up, cause knowning no spells exist for path is info too. */ strcat(retbuf,"\n - no known spells exist -\n"); else { + #ifdef BOOK_MSG_DEBUG LOG(llevDebug,"\n spellpath_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS: path=%d pray=%d\n%s\n",path,prayers,retbuf); #endif + strcat(retbuf,"\n"); + } return retbuf; } /* artifact_msg() - generate a message detailing the properties * of 1-6 artifacts drawn sequentially from the artifact list. *************** *** 755,765 **** else if(strlen(buf)>1) strcat(retbuf,buf); level--; } if(strlen(retbuf)==introlen) { /* we got no information beyond the preamble! */ strcat(retbuf," [Unfortunately the rest of the information is\n"); ! strcat(retbuf," hopelessly garbled!]\n ---"); } #ifdef BOOK_MSG_DEBUG LOG(llevDebug,"\n god_info_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS:\n%s",retbuf); #endif --- 769,779 ---- else if(strlen(buf)>1) strcat(retbuf,buf); level--; } if(strlen(retbuf)==introlen) { /* we got no information beyond the preamble! */ strcat(retbuf," [Unfortunately the rest of the information is\n"); ! strcat(retbuf," hopelessly garbled!]\n ---\n"); } #ifdef BOOK_MSG_DEBUG LOG(llevDebug,"\n god_info_msg() created strng: %d\n",strlen(retbuf)); fprintf(logfile," MADE THIS:\n%s",retbuf); #endif *************** *** 766,776 **** return retbuf; } int book_overflow(char *buf1, char *buf2, int booksize) { ! if( buf_overflow(buf1,buf2,BOOK_BUF) || buf_overflow(buf1,buf2,booksize)) return 1; return 0; } --- 780,790 ---- return retbuf; } int book_overflow(char *buf1, char *buf2, int booksize) { ! if( buf_overflow(buf1,buf2,BOOK_BUF-2) /* 2 less so always room for trailing \n */ || buf_overflow(buf1,buf2,booksize)) return 1; return 0; } From owner-crossfire Sun Mar 31 05:55:37 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 05:55:37 +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 ; Sun, 31 Mar 1996 05:55:35 +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 RAA19727 for ; Sat, 30 Mar 1996 17:09:05 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Pixies and curses Date: Sun, 31 Mar 1996 03:53:07 GMT Organization: Kaos, Inc Message-Id: <315e00a3.12135524@email2.vnet.net> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO First, server crashes when pixies are around, in at least two different maps. We *think* it has to do with them using wands, but we aren't sure.. Just an idea... Second, we've all got the durned cursed items...and we don't know enought to know how to get *rid* of them...any ideas? clues? hints? thanks 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 Sun Mar 31 01:49:30 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 31 Mar 1996 01:49:30 +0100 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 ; Sun, 31 Mar 1996 01:49:28 +0100 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 OAA16608; Sat, 30 Mar 1996 14:04:40 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: Brian Thomas Cc: crossfire@ifi.uio.no Subject: Re: CF: literacy patch Date: Sun, 31 Mar 1996 00:46:53 GMT Organization: Kaos, Inc Message-Id: <315dd5af.1137947@email2.vnet.net> References: <199603301517.KAA13044@xplorer.gsfc.nasa.gov> In-Reply-To: <199603301517.KAA13044@xplorer.gsfc.nasa.gov> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Sat, 30 Mar 1996 10:17:25 -0500, you wrote: > I didnt apply the several mailed patches I got. My > code (at least) seems to handle endmsg ok. I changed > one line in common/item.c (see below). I then > could reset the magic shop to my hearts content (I ] > did it about 25 times). Hopefully this will fix it all. > Please let me know if people out there are still having > problems w/ literacy code. > > -b.t. > >ps. Oh yeah. I also have the fix I sent out earlier in place too > (patch to server/init.c). Hmm...I've applied both patches and it still crashes for us...I also applied the command.c pactch, and one other, that were mailed out earlier this week... Any ideas? 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 Sat Mar 30 22:05:17 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 22:05:17 +0100 Received: from soda.CSUA.Berkeley.EDU (soda.CSUA.Berkeley.EDU [128.32.43.52]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Sat, 30 Mar 1996 22:05:13 +0100 Received: (from peterm@localhost) by soda.CSUA.Berkeley.EDU (8.6.12/8.6.12) id NAA29501 for crossfire@ifi.uio.no; Sat, 30 Mar 1996 13:05:02 -0800 Date: Sat, 30 Mar 1996 13:05:02 -0800 From: Peter Mardahl Message-Id: <199603302105.NAA29501@soda.CSUA.Berkeley.EDU> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Literacy Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO You could call a 'scroll of literacy' a Scholarship the assumption being that he's entitled to go train to read somewhere. PeterM From owner-crossfire Sat Mar 30 16:50:06 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 16:50:06 +0100 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 ; Sat, 30 Mar 1996 16:50:03 +0100 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 FAA06206; Sat, 30 Mar 1996 05:16:17 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: Brian Thomas Cc: crossfire@ifi.uio.no Subject: Re: CF: A union of like interests Date: Sat, 30 Mar 1996 15:47:34 GMT Organization: Kaos, Inc Message-Id: <315d56ed.129991381@email2.vnet.net> References: <199603291447.4212.mne.ifi.uio.no@ifi.uio.no> In-Reply-To: <199603291447.4212.mne.ifi.uio.no@ifi.uio.no> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO [SNIP] > Yah. This is really needed. Gathering up many of the > player information documents (spells, playhints, parts > of the spoiler) seems to me to be the most needed > task done. Also, online help would be cool. Finally, > some more up to date document for developers to work with. > [SNIP] > As above... agreed. But as a newcomer will you be able to > do this any time soon? Sounds like alot of work. > [SNIP] > The docs I have workd on are slightly out of date, > but skills.doc, Multigod.doc. are still serviceable. > If your *really* serious, I can send you updated docs. > I think we can offer some help here...One of my roommates is an excellent documentor...if we can get a basic list of some of the documentation needed (and I'll pass this on to her), we'd love to generate some of the documentation. FWIW, we've sortof fallen in love with crossfire, we've got it running on our apt's internal network, and are having a blast. 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 Sat Mar 30 16:17:29 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 16:17:29 +0100 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, 30 Mar 1996 16:17:26 +0100 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id KAA13044 for crossfire@ifi.uio.no; Sat, 30 Mar 1996 10:17:25 -0500 Date: Sat, 30 Mar 1996 10:17:25 -0500 From: Brian Thomas Message-Id: <199603301517.KAA13044@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: literacy patch Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I didnt apply the several mailed patches I got. My code (at least) seems to handle endmsg ok. I changed one line in common/item.c (see below). I then could reset the magic shop to my hearts content (I ] did it about 25 times). Hopefully this will fix it all. Please let me know if people out there are still having problems w/ literacy code. -b.t. ps. Oh yeah. I also have the fix I sent out earlier in place too (patch to server/init.c). *** ../../tarfiles/crossfire-0.92.3/common/item.c Thu Mar 7 03:38:09 1996 --- ./item.c Sat Mar 30 10:05:14 1996 *************** *** 614,624 **** strcat(retbuf,"(hitback)"); if(op->arch->randomitems != NULL) { treasure *t; int first = 1; for(t=op->arch->randomitems->items; t != NULL; t=t->next) ! if(t->item->clone.type == ABILITY) { if(first) { first = 0; strcat(retbuf,"(Spell abilities:)"); } strcat(retbuf,"("); --- 614,624 ---- strcat(retbuf,"(hitback)"); if(op->arch->randomitems != NULL) { treasure *t; int first = 1; for(t=op->arch->randomitems->items; t != NULL; t=t->next) ! if(t->item && (t->item->clone.type == ABILITY)) { if(first) { first = 0; strcat(retbuf,"(Spell abilities:)"); } strcat(retbuf,"("); From owner-crossfire Sat Mar 30 10:51:26 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 10:51:26 +0100 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, 30 Mar 1996 10:51:24 +0100 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id EAA11768; Sat, 30 Mar 1996 04:51:20 -0500 Date: Sat, 30 Mar 1996 04:51:20 -0500 From: Brian Thomas Message-Id: <199603300951.EAA11768@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: farrarb@vnet.net Subject: Re: CF: Literacy Cc: crossfire@ifi.uio.no Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > From: farrarb@vnet.net (Bill Farrar) writes: > > I've got a question here.... > > We've noticed that a character who doesn't have literacy (or whatever > skill it takes to *read* things) is pretty unbalanced. For example, > you can't read the rules Town Hall, can't read quest items, etc. > Ah, I see your tuning into the discussion late... Yeah, the 0.92.3 version, other than being *pretty* buggy, is also unbalanced for this reason. I put forth several solutions a while back, and I am working on some of them now. For the time being, the best thing to do is to give every player class the literacy skill. This is fairly easy. Edit lib/treasures entry for "basic_skills" and add the arch skill_literacy to it. Now all starting players will have literacy. (treasures should look something like: # All players will start with these skills # -- only skills critical to being able to # play should go here. -b.t. treasure basic_skills arch skill_find_traps more arch skill_literacy more arch skill_remove_trap more arch skill_use_magic_item end ... > but it seems to be needed to understand some of the quests. My > question is how do you get the literacy skill? Is there a way to pick > it up with an item? > To gain literacy *after* starting the game, you need to "read" a scroll of literacy. Yah, its perverse, but way back when skills system was being developed I didnt think about how players would gain skills too hard. -b.t. From owner-crossfire Sat Mar 30 10:22:32 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 10:22:32 +0100 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 ; Sat, 30 Mar 1996 10:22:30 +0100 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 WAA00787 for ; Fri, 29 Mar 1996 22:53:28 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Literacy Date: Sat, 30 Mar 1996 09:20:06 GMT Organization: Kaos, Inc Message-Id: <315cfc07.106718070@email2.vnet.net> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I've got a question here.... We've noticed that a character who doesn't have literacy (or whatever skill it takes to *read* things) is pretty unbalanced. For example, you can't read the rules Town Hall, can't read quest items, etc. It wouldn't be such a big deal if it was limited to magical scrolls, but it seems to be needed to understand some of the quests. My question is how do you get the literacy skill? Is there a way to pick it up with an item? bill (who is considering looking at the code, one of these days:) 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 Sat Mar 30 10:18:54 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 10:18:54 +0100 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 ; Sat, 30 Mar 1996 10:18:51 +0100 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 WAA00704 for ; Fri, 29 Mar 1996 22:49:49 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: version 0.92.3 Date: Sat, 30 Mar 1996 09:16:26 GMT Organization: Kaos, Inc Message-Id: <315cfb7e.106581419@email2.vnet.net> References: <199603291427.JAA09154@xplorer.gsfc.nasa.gov> In-Reply-To: <199603291427.JAA09154@xplorer.gsfc.nasa.gov> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I have some input on this... > Hmm. This didnt happen to me during the development of the > code. I ll take another look though. Perhaps I miss-understand > your point though? Do you mean maps crash that have scrolls > players wrote, then left behind on that map, then the map > times out? Or do you just mean maps that have scroll-generating > archs on them? Anyway, thanks for pointing this out... > > -b.t. One of our local players crahses the server every time he inters the magic shop in the main town (or nearly so--he stopped going in:) He didn't *have* the literacy skill, so didn't have any self-made scrolls. We're still trying to track down exactly *when* things are occurring here:) 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 Sat Mar 30 07:19:56 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sat, 30 Mar 1996 07:19:56 +0100 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, 30 Mar 1996 07:19:54 +0100 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id BAA11227; Sat, 30 Mar 1996 01:19:47 -0500 Date: Sat, 30 Mar 1996 01:19:47 -0500 From: Brian Thomas Message-Id: <199603300619.BAA11227@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: blindness and artifacts Cc: jon@Bitsy.st.hmc.edu Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > From: Jonathan Tourtellot > > I have noticed a few major problems with the spell 'sunspear' and blindness > more generally: > At the moment, sunspear is a relatively cheap spell, and it blinds just > about anything, in addition to doing damage that affects all creatures > in the game (I have yet to meet a creature not damaged by it, anyway). This > poses a rather nasty problem, because it lets mid-level characters crush > high-level monsters with ease. With a single shot of sunspear, almost any > creature gets blinded and stands still, not attacking unless you move too > close. I have found it simple to thus kill wizards, titans, Jessy, dragons, > dreads, etc. using only sunspear, and without taking any damage myself. > Some thing is definitely wrong here. Creatures that have see_invisible (everything you list above; except Dreads??) should'nt be effected by BLINDNESS (they are still blinded, but because of these creatures "superior" senses they easily compensate for loss of sight). *sigh*, its been a banner week for my code changes :) I take a look this weekend. -b.t. > > As an additional aside, has anyone else tried the 'unique artifact' code? > I still see multiples of the same artifacts lying around. > I use the unique artifact code quite a bit in my maps. I think you are mis-understanding what it is for. 'Unique artifacts' are *anything* that have the 'unique 1' flag set. This flag means that *that* particular artifact will not be removed/reset if it is left on a map that resets. Stuff like 'excalibur', etc. are *not* unique items. -b.t. > -jon > From owner-crossfire Fri Mar 29 21:42:06 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 29 Mar 1996 21:42:06 +0100 Received: from Bitsy.st.hmc.edu (jon@Bitsy.ST.HMC.Edu [134.173.48.88]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 29 Mar 1996 21:42:01 +0100 Received: (from jon@localhost) by Bitsy.st.hmc.edu (8.6.12/8.6.9) id MAA07879; Fri, 29 Mar 1996 12:41:55 -0800 From: Jonathan Tourtellot Message-Id: <199603292041.MAA07879@Bitsy.st.hmc.edu> Subject: CF: blindness and artifacts Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Fri, 29 Mar 1996 12:41:54 -0800 (PST) Cc: jon@Bitsy.st.hmc.edu (Jonathan Tourtellot) X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 1487 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I'm running Crossfire v. 0.92.2. I have noticed a few major problems with the spell 'sunspear' and blindness more generally: At the moment, sunspear is a relatively cheap spell, and it blinds just about anything, in addition to doing damage that affects all creatures in the game (I have yet to meet a creature not damaged by it, anyway). This poses a rather nasty problem, because it lets mid-level characters crush high-level monsters with ease. With a single shot of sunspear, almost any creature gets blinded and stands still, not attacking unless you move too close. I have found it simple to thus kill wizards, titans, Jessy, dragons, dreads, etc. using only sunspear, and without taking any damage myself. I tried to correct this by setting (in this case) Jessy's immunity flag to add an immunity to blindness. He was still blinded when I shot him with sunspear (as an additional note, it is simple to dimension door across the 9th level of hell, onto the key, and thus bypass Jessy completely. I think that getting the key should involve a bit more skill than just hitting shift-1). Anyway, I think there is something worng with the blindness code - either the duration of blindness should be proportional to the difference in levels between the monster and the player, or monster blindness saving throws should be made more often. As an additional aside, has anyone else tried the 'unique artifact' code? I still see multiples of the same artifacts lying around. -jon From owner-crossfire Fri Mar 29 16:55:45 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 29 Mar 1996 16:55:45 +0100 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, 29 Mar 1996 16:55:41 +0100 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id KAA09525 for crossfire@ifi.uio.no; Fri, 29 Mar 1996 10:55:40 -0500 Date: Fri, 29 Mar 1996 10:55:40 -0500 From: Brian Thomas Message-Id: <199603291555.KAA09525@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: literacy patch Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hmm. Im not sure how much of the problem this fixes, but apparently some of the readable arrays that *should* be initialized are not being done. This is easily patched.. Apply the following to server/init.c (or just insert a call to init_readable() in init.c). -b.t. *** ./crossfire-0.92.3/server/init.c Thu Mar 7 03:38:23 1996 --- ./../crossfire-0.92.3/server/init.c Fri Mar 29 10:48:36 1996 *************** *** 252,261 **** --- 254,267 ---- init_archetypes(); /* If not called before, reads all archetypes from file */ init_artifacts(); /* If not called before, reads all artifacts from file */ init_spells(); /* If not called before, links archtypes used by spells */ init_archetype_pointers(); /* Setup global pointers to archetypes */ init_races(); /* overwrite race designations using entries in lib/races file */ + init_readable(); /* inits useful arrays for readable texts */ #ifdef ALLOW_SKILLS init_new_exp_system(); /* If not called before, inits experience system */ #endif #ifdef DUMP_SWITCHES switch(dump_monsters) { From owner-crossfire Fri Mar 29 15:47:20 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 29 Mar 1996 15:47:20 +0100 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, 29 Mar 1996 15:47:18 +0100 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Fri, 29 Mar 1996 15:47:17 +0100 Message-Id: <199603291447.4212.mne.ifi.uio.no@ifi.uio.no> Date: Fri, 29 Mar 1996 09:37:26 -0500 From: Brian Thomas Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: A union of like interests Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > Sam writes: > > At any rate, I'd like to do, or help with these > and any other changes which folks are working on, > and I am also interested in writing documentation. Yah. This is really needed. Gathering up many of the player information documents (spells, playhints, parts of the spoiler) seems to me to be the most needed task done. Also, online help would be cool. Finally, some more up to date document for developers to work with. > I see a big need right now for programmer-level > documentation on how Crossfire works (data, control > structure, etc.) > As above... agreed. But as a newcomer will you be able to do this any time soon? Sounds like alot of work. > 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. > The docs I have workd on are slightly out of date, but skills.doc, Multigod.doc. are still serviceable. If your *really* serious, I can send you updated docs. -b.t. From owner-crossfire Fri Mar 29 15:27:31 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 29 Mar 1996 15:27:31 +0100 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, 29 Mar 1996 15:27:28 +0100 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id JAA09154; Fri, 29 Mar 1996 09:27:17 -0500 Date: Fri, 29 Mar 1996 09:27:17 -0500 From: Brian Thomas Message-Id: <199603291427.JAA09154@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no, kawamoto@ics.es.osaka-u.ac.jp Subject: Re: CF: version 0.92.3 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > From: KAWAMOTO-san writes: > > I found a bug of literacy in 0.92.3. > The skill of literacy becomes able to write a note to non-magical > scrolls. But this note does not end with newline('\n'), so > 'endmsg' does not start from beginning of a line. > > This cause server crash when a map - that contains some literated > scrolls and timed out - is reloaded. > Hmm. This didnt happen to me during the development of the code. I ll take another look though. Perhaps I miss-understand your point though? Do you mean maps crash that have scrolls players wrote, then left behind on that map, then the map times out? Or do you just mean maps that have scroll-generating archs on them? Anyway, thanks for pointing this out... -b.t. > Same problem is found in readable objects. So you can crash a > server with high probability when you enter a time-outed magic > shop. > -- > iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp > From owner-crossfire Fri Mar 29 10:04:37 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 29 Mar 1996 10:04:37 +0100 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 ; Fri, 29 Mar 1996 10:04:31 +0100 Received: by tenjin.ics.es.osaka-u.ac.jp (8.6.12+2.4W/hal-MX-3.2-slave-1) id SAA13388; Fri, 29 Mar 1996 18:04:25 +0900 Message-Id: <199603290904.SAA13388@tenjin.ics.es.osaka-u.ac.jp> From: KAWAMOTO Yosihisa Mime-Version: 1.0 To: crossfire@ifi.uio.no cc: GESTIONNAIRE DU Casino References: Subject: Re: CF: version 0.92.3 Date: Fri, 29 Mar 1996 18:04:24 +0900 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO In message GESTIONNAIRE DU Casino wrote: > I don't know if it's only here, but version 0.92.3 keeps on crashing on us... > It happens not very often, but it's map-independant... > I haven't seen a pattern yet, so I can't say more... I found a bug of literacy in 0.92.3. The skill of literacy becomes able to write a note to non-magical scrolls. But this note does not end with newline('\n'), so 'endmsg' does not start from beginning of a line. This cause server crash when a map - that contains some literated scrolls and timed out - is reloaded. Same problem is found in readable objects. So you can crash a server with high probability when you enter a time-outed magic shop. -- iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp From owner-crossfire Fri Mar 29 08:26:52 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 29 Mar 1996 08:26:52 +0100 Received: from mailhost1.primenet.com (mailhost1.primenet.com [198.68.32.51]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 29 Mar 1996 08:26:48 +0100 Received: from usr4.primenet.com (root@usr4.primenet.com [198.68.32.14]) by mailhost1.primenet.com (8.7.3/8.7.1) with ESMTP id AAA16530 for ; Fri, 29 Mar 1996 00:26:46 -0700 (MST) Received: (from sglasby@localhost) by usr4.primenet.com (8.7.3/8.7.3) id AAA22603; Fri, 29 Mar 1996 00:26:46 -0700 (MST) From: Sam Glasby Message-Id: <199603290726.AAA22603@usr4.primenet.com> Subject: CF: A union of like interests Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Fri, 29 Mar 1996 00:26:45 -0700 (MST) Cc: sglasby@primenet.com X-Mailer: ELM [version 2.4 PL23] Content-Type: text Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO ---- Hello, all. Subscribed to the list recently after compiling Crossfire again on my Linux box. (I intend to do some development...hopefully of a substantial nature, adding to Crossfire). Coincidentally, I noticed that on Usenet, rec.games.ultima.dragons was approved & added at roughly the same time, and I subscribed. Hence, when I saw the Ultima folks making noise about how nice it would be if someone wrote an Ultima-type game with an editor... :-) I pointed them to Crossfire resources, and if any are seriously interested in the idea, they will not be starting from scratch. Seems to me our two communities have a lot in common. Regarding Crossfire development: -------------------------------- I have a perfectly wonderful Linux box (Epithemus), with a comfy GCC + Emacs setup (with RCS of course!) and plan to do development work on Crossfire, as a labor of love. (I've wanted a multiplayer roguelike/Ultimalike which was editable for years, and Crossfire is even under GNU license...color me happy!) I have played some Crossfire on my lonely box (dynamic IP via PPP to primenet.com, or dialup to other local Linux boxen), as well as over a 14.4 PPP line (14.4 on the other end, so the USR 28.8 on my end doesn't help :-( ) and found that multiplayer method too slow. 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. What else is needed, on nicety/interface levels, as well as low-level within Crossfire (client/server/editor)? I have some thoughts I'd like to bounce off others, and get some feedback...and how many of the coding folk listed in credits/source are on the list these days? 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? 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") 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 This would be a big job, but perhaps worthwhile, drawbacks include the time & effort to create this code and convert the archetypes (though the latter could be automated, or obivated since the parser could still take decimal representation), and the increased size of the archetype files. One could develop a byte-compiled version, to be recompiled on the fly if the source was newer, but again that's a lot of work. Also true is that the functionality of the symbolic notation (very helpful to comprehension) could be implented on the editor level...turning number soup into readable texts. Probably the least amount of code to add. At any rate, I'd like to do, or help with these and any other changes which folks are working on, and I am also interested in writing documentation. I see a big need right now for programmer-level documentation on how Crossfire works (data, control structure, etc.) 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. Hope to hear some feedback...I look forward to the 1.0 release of Crossfire, surely it will be a game to rival any in existence! Sam Glasby From owner-crossfire Thu Mar 28 16:38:15 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 28 Mar 1996 16:38:15 +0100 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, 28 Mar 1996 16:38:11 +0100 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id KAA05874; Thu, 28 Mar 1996 10:38:09 -0500 Date: Thu, 28 Mar 1996 10:38:09 -0500 From: Brian Thomas Message-Id: <199603281538.KAA05874@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no, farrarb@vnet.net Subject: Re: CF: Editing Maps Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > Bill writes: > > i've seen some code to make monsters reply, and know how to set > variables (tho not what they all mean) > > Does anyone have a tutorial, or anything like that? (heh. the 92.3 > documentations is a bit sparse on this:) > The best document I know of is the crossfire.doc in /doc. It does explain the use of many of the object variables, but, it is somewhat out of date. For many 'special' object types, the meanings of the object variables are different ("food" is a good example of a variable whose meaning changes often from object type to object type). My knowledge is largely gleaned from that document, looking at the code, and experimentation with the editor. -b.t. > 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 Thu Mar 28 06:30:09 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 28 Mar 1996 06:30:09 +0100 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 ; Thu, 28 Mar 1996 06:30:07 +0100 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 TAA07213 for ; Wed, 27 Mar 1996 19:21:50 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Editing Maps Date: Thu, 28 Mar 1996 05:26:56 GMT Organization: Kaos, Inc Message-Id: <315a218c.10233873@email2.vnet.net> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Ok, we've decided we think crossfire is pretty cool, and want to do some of our own maps. We've started fiddling around with crossedit, and looked at some of the 'real' maps. I"m kindof from a lp-mud programming background, and I wnated to know what sorts of things you can do... i've seen some code to make monsters reply, and know how to set variables (tho not what they all mean) Does anyone have a tutorial, or anything like that? (heh. the 92.3 documentations is a bit sparse 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 Wed Mar 27 01:18:03 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 27 Mar 1996 01:18:03 +0100 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, 27 Mar 1996 01:18:00 +0100 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA19591; Tue, 26 Mar 96 16:17:10 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA24060; Wed, 27 Mar 96 00:17:08 GMT From: "Mark Wedel" Message-Id: <9603261617.ZM24058@stealth.eng.pyramid.com> Date: Tue, 26 Mar 1996 16:17:07 -0800 In-Reply-To: Nathan Sargent "CF: firewalls" (Mar 26, 3:56pm) References: X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: Nathan Sargent , Crossfire Subject: Re: CF: firewalls Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO There is no way to play crossfire if the server is on the opposite of the firewall as you. There are some programs that let x traffic through firewalls, and that should work, but may not be something that you can set up. The client should fix this problem, if it ever gets completed. -- --Mark From owner-crossfire Wed Mar 27 00:44:56 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 27 Mar 1996 00:44:56 +0100 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, 27 Mar 1996 00:44:52 +0100 Received: (from wakko@localhost) by www.latexnet.org (8.6.12/8.6.9) id PAA01179; Tue, 26 Mar 1996 15:56:38 -0800 Date: Tue, 26 Mar 1996 15:56:37 -0800 (GMT-0800) From: Nathan Sargent Mime-Version: 1.0 To: Crossfire Subject: CF: firewalls In-Reply-To: <31585bfb.56046163@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 I have a slight dilema here. How do I access crossfire servers outside my firewall? I've tried telnetting to them, but I'm not getting any sort of response. TIA, Nathan From owner-crossfire Wed Mar 27 00:05:52 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 27 Mar 1996 00:05:52 +0100 Received: from grex.cyberspace.org (dodger@grex.cyberspace.org [152.160.30.1]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 27 Mar 1996 00:05:47 +0100 Received: (from dodger@localhost) by grex.cyberspace.org (8.6.12/8.6.12) id SAA26805 for crossfire@ifi.uio.no; Tue, 26 Mar 1996 18:05:22 -0500 From: Dodger Message-Id: <199603262305.SAA26805@grex.cyberspace.org> Subject: CF: Crossclient help Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Tue, 26 Mar 1996 18:05:21 -0500 (EST) X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 504 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hiya, I'm new to the list so I hope I'm doing this right :) I've got a problem with crossclient. I have been trying to connect with a server(yoko.ens-cachan.fr) but for some reason crossclient will not open the display. The error I get is : Failed to add digital:0.0: Can't open display digital:0.0. I am running Crossfire 92.3 and it is on my own machine connected through a PPP line. I have telnetted to the server and it is up and running so I know it's not that. Thanks for any help. Ted From owner-crossfire Tue Mar 26 23:42:02 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 26 Mar 1996 23:42:02 +0100 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, 26 Mar 1996 23:41:58 +0100 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA13254; Tue, 26 Mar 96 14:41:20 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA17463; Tue, 26 Mar 96 22:41:18 GMT From: "Mark Wedel" Message-Id: <9603261441.ZM17461@stealth.eng.pyramid.com> Date: Tue, 26 Mar 1996 14:41:17 -0800 In-Reply-To: farrarb@vnet.net (Bill Farrar) "CF: Fonts..." (Mar 26, 9:06pm) References: <31585bfb.56046163@email2.vnet.net> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: farrarb@vnet.net (Bill Farrar), crossfire@ifi.uio.no Subject: Re: CF: Fonts... Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Mar 26, 9:06pm, Bill Farrar wrote: > Subject: CF: Fonts... > I've got a question, I installed the font that came with 92.3 on our > xserver, and got things generally working here, locally. I tried to > take a look at some of the external games (like chico) and everything > was working, but the font was quite messed up. > > Was there a major font-change with 92.3, or have i messed somehting > up? > There were minor font changes. The font is in alphabetical order. Thus, only 1 new image needs to get added, and all images after that will be incorrect. And of course, if you connect to remote sites, there is no guarentee that they haven't added a few new images themselves. Best method is to get the font from the site you are connecting to, or use pixmap/xpm mode. -- --Mark From owner-crossfire Tue Mar 26 22:09:23 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 26 Mar 1996 22:09:23 +0100 Received: from ginger.vnet.net (ginger.vnet.net [166.82.1.69]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 26 Mar 1996 22:09:18 +0100 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 LAA20642 for ; Tue, 26 Mar 1996 11:28:37 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Fonts... Date: Tue, 26 Mar 1996 21:06:48 GMT Organization: Kaos, Inc Message-Id: <31585bfb.56046163@email2.vnet.net> X-Mailer: Forte Agent .99d/32.182 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I've got a question, I installed the font that came with 92.3 on our xserver, and got things generally working here, locally. I tried to take a look at some of the external games (like chico) and everything was working, but the font was quite messed up. Was there a major font-change with 92.3, or have i messed somehting up? 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 Mar 26 21:19:24 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 26 Mar 1996 21:19:24 +0100 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, 26 Mar 1996 21:19:21 +0100 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 KAA18750 for ; Tue, 26 Mar 1996 10:42:26 -0500 From: farrarb@vnet.net (Bill Farrar) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: version 0.92.3 Date: Tue, 26 Mar 1996 20:16:48 GMT Organization: Kaos, Inc Message-Id: <3158505a.53068174@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, 26 Mar 1996 12:47:03 -0500 (EST), you wrote: >I don't know if it's only here, but version 0.92.3 keeps on crashing on us... >It happens not very often, but it's map-independant... >I haven't seen a pattern yet, so I can't say more... > > We've been having the same problem, ut didn't have anything to compare it to (we started with 92.3) I'll see if my rommates have noticed anything here.. 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 Mar 26 19:56:41 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 26 Mar 1996 19:56:41 +0100 Received: from pigface.ecst.csuchico.edu (karim@pigface.ecst.csuchico.edu [132.241.3.150]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 26 Mar 1996 19:56:34 +0100 Received: (from karim@localhost) by pigface.ecst.csuchico.edu (8.6.12/8.6.12) id KAA08256; Tue, 26 Mar 1996 10:56:13 -0800 From: karim Message-Id: <199603261856.KAA08256@pigface.ecst.csuchico.edu> Subject: Re: CF: version 0.92.3 Mime-Version: 1.0 To: casino@jsp.umontreal.ca (GESTIONNAIRE DU Casino) Date: Tue, 26 Mar 1996 10:56:13 -0800 (PST) Cc: crossfire@ifi.uio.no In-Reply-To: from "GESTIONNAIRE DU Casino" at Mar 26, 96 12:47:03 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 621 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > > I don't know if it's only here, but version 0.92.3 keeps on crashing on us... > It happens not very often, but it's map-independant... > I haven't seen a pattern yet, so I can't say more... > > > --- > Casino > > Yeah, us too. We started running another xfire server at chico (HP-UX) and it constantly has about 6-10 users on it. We switched back to 0.92.2 and it only crashes about once every hour now. I have been meaning to post about our experiences with setting up crossfire here, and the modifications that we had to do to get it to work. I will sometime, but I have been swamped lately. Karim From owner-crossfire Tue Mar 26 19:52:46 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 26 Mar 1996 19:52:46 +0100 Received: from uni-kl.de (stepsun.uni-kl.de [131.246.136.50]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 26 Mar 1996 19:52:12 +0100 Received: from corp-200.dfki.uni-kl.de by stepsun.uni-kl.de id aa02407; 26 Mar 96 19:49 MET Received: from corp-201.dfki.uni-kl.de (corp-201 [131.246.241.106]) by corp-200.dfki.uni-kl.de (8.7.4/8.7.3) with ESMTP id TAA07014; Tue, 26 Mar 1996 19:49:22 +0100 (MET) Organization: DFKI Kaiserslautern GmbH, D 67663 Kaiserslautern Received: from localhost (isg-201 [131.246.241.71]) by corp-201.dfki.uni-kl.de (8.7.4/8.7.3) with ESMTP id TAA15408; Tue, 26 Mar 1996 19:49:22 +0100 (MET) Message-Id: <199603261849.TAA15408@corp-201.dfki.uni-kl.de> X-Mailer: exmh version 1.6.5 12/11/95 Mime-Version: 1.0 To: Mark Wedel cc: elsbernd@dfki.uni-kl.de, crossfire@ifi.uio.no Subject: Re: CF: Re: crossfire (fwd) X-url: http://www.dfki.uni-kl.de/~elsbernd/elsbernd.html X-face: $M>Bn@FmY_i=WI\TEedu:D?W-?1t#J|YJ(jfuT-@,!K=ADK?n<}T[j65V<%d/r46~0b[oXI <\;T\,vrg#=BMNs)z$I2PI5K_Qo(+k2~sC5X&(?ZX~y1qu(>^$Ey75zK@eN5@lJ39v"9_sP9UeHr$, 9;KU6I$G|5[[%m"Tl[_KvBi+E?WGKU%8=LazP}`uM4$zus8.RKRz"v4>\8sk3#'h6"CK In-reply-to: Your message of "Mon, 18 Mar 1996 14:06:18 MET." <9603181406.ZM14620@stealth.eng.pyramid.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Tue, 26 Mar 1996 19:49:29 +0100 From: Klaus Elsbernd Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello; GESTIONNAIRE DU Casino writes >I don't know if it's only here, but version 0.92.3 keeps on crashing on us... >It happens not very often, but it's map-independant... >I haven't seen a pattern yet, so I can't say more... yes. I discovered frequently crashes, when using 0.92.3. I checked the core files and discovered at least 2 errors, which I could correkt. First: In commands.c, there is a call to XKeysymToString, which converts a keysym to a character string. If there is no such string, NULL is returned. I got a SunSparc/Solaris (5.4/5) System which uses a Type 5 Keyboard. This generates for the keypad-0 an keysum of 'ff9e', which isn't defined. The result is NULL from XKeysymToString, which isn't handled correctly in commands.c. I fixed it with the patch at the end. Second. There is a variable named NRSPELLPATHS, which is set to 22. But there are only 20 spellpath in the list. This results in an error, when spellpath_msg() is called. There is a code, which generates a random message. Therefore a reference of an invalid entry in spellpathdef[path], when printing that spellpath entry (common/readable.c line 432). I don't know, if correcting it to the real value of 20 is correct in each context. But I think, the fix works. Beside that 2 proposals: NRSPELLPATHS should be made dependend from the size of the table like #define NRSPELLPATHS sizeof(spellpath) second: The define DESCRIBE_PATH is defined twice. First in include define.h and second in common/item.c. The second one should be eliminated. Ok that's it for now; hope this helps. MfG Klaus patch for first error: *** server/commands.c.dist Thu Mar 7 09:38:22 1996 --- server/commands.c Mon Mar 25 20:53:20 1996 *************** *** 777,787 **** return 1; } new_draw_info_format(NDI_UNIQUE, 0, op, "Key unused (%s%s%s)", (pl->fire_on? "Fire&": ""), (pl->run_on ? "Run&" : ""), ! XKeysymToString(keysym)); pl->count_left=0; pl->count=0; return 1; --- 777,789 ---- return 1; } + { char *c = XKeysymToString(keysym); new_draw_info_format(NDI_UNIQUE, 0, op, "Key unused (%s%s%s)", (pl->fire_on? "Fire&": ""), (pl->run_on ? "Run&" : ""), ! (c == NULL ? "no Keysym" : c)); ! } pl->count_left=0; pl->count=0; return 1; ------------------------------------------ patch for the second one: *** include/define.h.dist Thu Mar 7 09:38:44 1996 --- include/define.h Tue Mar 26 19:24:08 1996 *************** *** 304,310 **** #define PATH_DEATH 0x00040000 #define PATH_LIGHT 0x00080000 ! #define NRSPELLPATHS 22 #define NROFGODS 6 /* number of gods in Gods[] array */ --- 304,310 ---- #define PATH_DEATH 0x00040000 #define PATH_LIGHT 0x00080000 ! #define NRSPELLPATHS 20 #define NROFGODS 6 /* number of gods in Gods[] array */ ------------------- From owner-crossfire Tue Mar 26 18:47:03 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 26 Mar 1996 18:47:03 +0100 Received: from harfang.CC.UMontreal.CA (harfang.CC.UMontreal.CA [132.204.2.102]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 26 Mar 1996 18:47:00 +0100 Received: from epsom.jsp.umontreal.ca (epsom.JSP.UMontreal.CA [132.204.45.25]) by harfang.CC.UMontreal.CA with ESMTP id MAA23647 (8.6.11/IDA-1.6 for ); Tue, 26 Mar 1996 12:45:49 -0500 Received: from derby.jsp.umontreal.ca (derby.jsp.umontreal.ca [132.204.46.26]) by epsom.jsp.umontreal.ca via ESMTP (951211.SGI.8.6.12.PATCH1042/JSP1146) id MAA14560 for ; Tue, 26 Mar 1996 12:47:14 -0500 Received: (from casino@localhost) by derby.jsp.umontreal.ca (951211.SGI.8.6.12.PATCH1042/JSP1146) id MAA06334 ; Tue, 26 Mar 1996 12:47:03 -0500 Date: Tue, 26 Mar 1996 12:47:03 -0500 (EST) From: GESTIONNAIRE DU Casino Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: version 0.92.3 In-Reply-To: <199512200551.QAA28531@zebedee.teaching.cs.adelaide.edu.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I don't know if it's only here, but version 0.92.3 keeps on crashing on us... It happens not very often, but it's map-independant... I haven't seen a pattern yet, so I can't say more... --- Casino From owner-crossfire Thu Mar 21 22:38:29 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 21 Mar 1996 22:38:29 +0100 Received: from dtr4330.dtr.cdc.com ([129.179.220.100]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 21 Mar 1996 22:38:25 +0100 Received: from java.dtr.cdc.com by dtr4330.dtr.cdc.com (5.61/1.34) id AA16003; Thu, 21 Mar 96 16:37:51 -0500 Date: Thu, 21 Mar 1996 16:38:34 -0500 (EST) From: Jonathan Fine Reply-To: jfine@umich.edu Mime-Version: 1.0 To: Crossfire Subject: CF: NOTES: Compiling 0.92.3 for Solaris 2.5 Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello, I just thought I would describe what I had to do to compile Crossfire 0.92.3 for Solaris 2.5 with the gcc compiler, since it took me a little bit of tinkering for success. As background, my Sun box doesn't have the Sun cc compiler or acc, just gcc 2.7.2. Here is the summary of what not to do for a successful compile, followed by a more detailed report: 1. Do *NOT* #define OWIN because that causes installation problems further down the road. Thanks to Mark Wedel for helping me out with this one. 2. After running ``xmkmf'' and ``make Makefiles'', do *NOT* do ``make depend''. Here the more detailed accounting: In config/crosssite.def, I #define ForceCC gcc. Using #define ForceCCOPTIONS -ansi eliminated the incessant warning message "gcc: language F not recognized", but this wasn't necessary. Because I initially did a ``make depend'', I received this error message: makedepend: daemon.c: makedepend: cannot find include file "sys/ttycom.h" makedepend: not in sys/ttycom.h makedepend: not in ../include/sys/ttycom.h makedepend: not in /usr/openwin/include/sys/ttycom.h makedepend: not in /usr/include/sys/ttycom.h makedepend: cannot open "sys/ttycom.h" and I needed to modify server/Makefile in order to be able to compile Crossfire. This is the diff file of server/Makefile: 761c761 < daemon.o: sys/ttycom.h --- > daemon.o: /usr/include/sys/termios.h If I had not done the ``make depend'' step, everything would have compiled ok. That's all. I just thought I would relate this information in case anyone new to Crossfire has these minor problems while compiling. From owner-crossfire Thu Mar 21 19:21:41 1996 Return-Path: Received: from platinum.com (gateway.platinum.com [206.214.170.2]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 21 Mar 1996 19:21:40 +0100 Received: by gateway.platinum.com id <18683>; Thu, 21 Mar 1996 12:23:03 -0600 Date: Thu, 21 Mar 1996 10:49:20 -0600 From: cwb@platinum.com (CwB) To: crossfire-bugs@ifi.uio.no Subject: install problem X-Sun-Charset: US-ASCII Message-Id: <96Mar21.122303cst.18683@gateway.platinum.com> Status: RO Hi, I just compiled crossfire-0.92.3 on SunOS 5.3 (Solaris) with X11R5. It worked fine (any problems were due to the screwy way our sysadmin organizes the file system). Anyway, to install it i followed the instructions: cd lib; make install-font; make install-same. At this point i assume i am supposed to cd ..; make install; - right? Well, i did and lo and behold...it failed. We do not have bsdinst. Do i need to get it or can i just install it by hand? I want to install it in the same directory i compiled it in. If a manual install is possible then how do i do it? The make install.man fails for the same reason so i need to know how to do this as well. If its better to just get bsdinst where can i get it? ThanQ. Clark Battle PS: heres the output from the make install absun21$ pwd /export/home/cwb/Junk/Games/crossfire-0.92.3 absun21$ make install installing in ./common... install in ./common done installing in ./doc... installing in ./doc/spoiler... install in ./doc/spoiler done installing in ./doc/spell-docs... install in ./doc/spell-docs done installing in ./server... make: Warning: Too many rules defined for target /export/home/cwb/Junk/Games/crossfire-0.92.3/bin/crossfire Current working directory /export/home/cwb/Junk/Games/crossfire-0.92.3/server /usr/openwin/bin/bsdinst -c crossfire /export/home/cwb/Junk/Games/crossfire-0.92.3/bin sh: /usr/openwin/bin/bsdinst: not found *** Error code 1 make: Fatal error: Command failed for target `/export/home/cwb/Junk/Games/crossfire-0.92.3/bin/crossfire' Current working directory /export/home/cwb/Junk/Games/crossfire-0.92.3/server *** Error code 1 make: Fatal error: Command failed for target `install' From owner-crossfire Wed Mar 20 12:25:37 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 20 Mar 1996 12:25:37 +0100 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 ; Wed, 20 Mar 1996 12:25:30 +0100 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Wed, 20 Mar 1996 12:25:27 +0100 Message-Id: <199603201125.1308.mne.ifi.uio.no@ifi.uio.no> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: Reading/literacy (was Re: CF: Re: crossfire (fwd)) From: "E. Tobias Evans" Date: Tue, 19 Mar 1996 19:56:05 -0500 (EST) Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO I wouldn't mind if literacy scrolls were very available, like waybreads. Or, if you want to really get funky, have spells written in different languages connected to the whole god structure (so spells of Gnarg would be written in orcish and you would be better at them if you worshipped gnarg.) 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. I really enjoy the game. Thank you from the bottom of my heart for writing it. sincerely yours, Ehren T. Evans From owner-crossfire Tue Mar 19 22:37:07 1996 Return-Path: Received: from dtr4330.dtr.cdc.com ([129.179.220.100]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 19 Mar 1996 22:36:00 +0100 Received: from java.dtr.cdc.com by dtr4330.dtr.cdc.com (5.61/1.34) id AA23207; Tue, 19 Mar 96 16:34:18 -0500 Date: Tue, 19 Mar 1996 16:35:01 -0500 (EST) From: Jonathan Fine Reply-To: jfine@umich.edu To: crossfire-bugs@ifi.uio.no Subject: Crossfire 0.92.3 compilation problems Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO Crossfire 0.92.3 was apparently compiling correctly on my system until it reached the lib directory and tried to produce the fonts. The ``convertfont'' utility is not on my system; I've even tried ``find / -name convertfont -print'' to locate it. Curiously enough, my system is SunOS and uses OpenWindows, and the various bdfto* utilities exist. I've looked through all the Solaris 2.5 installation disks and I've searched the WWW fairly exhaustively, and I can't locate where the file ought to be on my system or where I can download it. My PATH *does* contain /usr/openwin/bin (where the bdfto* exist) and /usr/dt/bin, along with the standard paths. This wasn't a C compilation problem, however here is the requested information from the README file: Version: Crossfire 0.92.3 Computer: Sun SPARC 20 OS: Solaris 2.5 (SunOS 5.5) Windows: CDE; OpenWindows is installed, however Compiler: gcc 2.7.2 CFlags: -ansi -I. -I../include -I/usr/openwin/include \ -DSVR4 -DSYSV -DLONGJUMP -DERIC_SERVER=0 -DFONTDIR=\"/usr/games/lib/crossfire/fonts\" -DFONTNAME=\"crossfire\" -DLIBDIR=\"/usr/games/lib/crossfire\" Here is the edited output from the ``make'' attempt: ----begin here---- making all in ./server... Makefile:438: warning: overriding commands for target `/usr/games/bin/crossfire' Makefile:430: warning: ignoring old commands for target `/usr/games/bin/crossfire' making all in ./lib... make[1]: Entering directory `/home/games/src/crossfire/crossfire-0.92.3/lib' convertfont crossfire.bdf make[1]: convertfont: Command not found make[1]: *** [crossfire24.fb] Error 127 make[1]: Leaving directory `/home/games/src/crossfire/crossfire-0.92.3/lib' make: *** [all] Error 2 -----end here----- Please let me know where I could download ``convertfont'' or if there is another utility I could use instead. Thanks, Jonathan From owner-crossfire Tue Mar 19 14:06:18 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 19 Mar 1996 14:06:18 +0100 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, 19 Mar 1996 14:06:16 +0100 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Tue, 19 Mar 1996 14:06:15 +0100 Message-Id: <199603191306.23877.mne.ifi.uio.no@ifi.uio.no> From: Brian Thomas Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Reading/literacy (was Re: CF: Re: crossfire (fwd)) Date: Tue, 19 Mar 1996 02:26:08 -0500 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO > From: "Mark Wedel" writes: > > On Mar 17, 1:35am, Frank Tore Johansen wrote: > > Subject: crossfire (fwd) > > Hiya, I guess this was either meant for the list or for you. > > As for literacy skill, it should probably be moderated somewhat. > > I haven't tested the newest version yet thou. > > Maybe scramble the chars a little if you have no litteracy, and scramble > > then less the higher your skill get? Or maybe just make it not apply > > to the starting town and its buildings. > > > > -Frank. > > > > I am not sure how all the literacy stuff works out (Brian could probably state > in better terms), but various readables can have a level which makes it harder > to read them. By default, all old readables don't have any level, but I don't > know if this means you don't need the literacy skill to read them or not. > Under the new scheme, players need the literacy skill to read books, spellbooks and scrolls. Signs (anywhere) are readable even without literacy skill to prevent serious playbalance problems. Eventually, I agree that it would be nice to go to a scrambling scheme; currently though, literacy works by comparing the level of the document and the reader's level. Generally speaking, if the reader has a literacy skill of level within the booklevel *minus* 5, they can read the book (or scroll or spellbook). Experience is awarded 1 time for reading based on the reader's level and the book level. Backfire effects for mis-reading scrolls is possible if you read a scroll that is higher than 10 levels *over* your literacy skill. Lack of reading scrolls is a playbalance problem for the fighter classes which 1) benefit most from scroll use and 2) dont start with literacy. I found it hard in my heart to believe every "Barbarian" is literate. However, playbalance really is more important than style. So here are some possible solutions (and I agree some corrective action should be taken): 1) make all characters literate at start (ie give skill_literacy) 2) lower the cost of the literacy scroll *and* make it more available. 3) make all level 0-1 documents readable/useable regardless of possession of literacy skill. This might mean that the book contained more 'pictographs' than words. 4) Add potions to the game that enable (temporary) spell powers for characters. These potions would allow fighters to 'cast' spells like they used to w/ scrolls. Potions would be less powerfull than scrolls and more expensive, but would be more reliable and dont need literacy to read them. I have such code up and running on my 0.92.2 version. I am porting it now and could release it soon if there is interest. I (of course) prefer options 2-4. bt. From owner-crossfire Mon Mar 18 23:06:58 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 18 Mar 1996 23:06:58 +0100 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, 18 Mar 1996 23:06:55 +0100 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA28377; Mon, 18 Mar 96 14:06:22 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA14622; Mon, 18 Mar 96 22:06:19 GMT From: "Mark Wedel" Message-Id: <9603181406.ZM14620@stealth.eng.pyramid.com> Date: Mon, 18 Mar 1996 14:06:18 -0800 In-Reply-To: Frank Tore Johansen "crossfire (fwd)" (Mar 17, 1:35am) References: <199603170035.6104.gymir.ifi.uio.no@ifi.uio.no> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: evanse@rpi.edu Subject: CF: Re: crossfire (fwd) 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 Mar 17, 1:35am, Frank Tore Johansen wrote: > Subject: crossfire (fwd) > Hiya, I guess this was either meant for the list or for you. > As for literacy skill, it should probably be moderated somewhat. > I haven't tested the newest version yet thou. > Maybe scramble the chars a little if you have no litteracy, and scramble > then less the higher your skill get? Or maybe just make it not apply > to the starting town and its buildings. > > -Frank. > I am not sure how all the literacy stuff works out (Brian could probably state in better terms), but various readables can have a level which makes it harder to read them. By default, all old readables don't have any level, but I don't know if this means you don't need the literacy skill to read them or not. > Forwarded message: > > From evanse@rpi.edu Sun Mar 17 01:26:48 1996 > > Date: Sat, 16 Mar 1996 19:26:42 -0500 (EST) > > From: "E. Tobias Evans" > > X-Sender: evanse@vccsouth25.its.rpi.edu > > To: frankj@ifi.uio.no > > Subject: crossfire > > Message-ID: > > MIME-Version: 1.0 > > Content-Type: TEXT/PLAIN; charset=US-ASCII > > > > > > I kind of liked the new skillsystem, it made the game more > > interesting. I especially liked the meditation skill of the monk class. > > I found it kind of impossible to use any of the prayers because my > > characters just didn't seem to gain experience with "turn undead" which > > was the only prayer that had any of them had enough grace for. Well, > > anyway, they never increased in level with the use of that spell so they > > couldn't really use any of the other prayers. But this didn't really > > bother me since the only spells I like anyway are "cure poison" and the > > healing spells which I prefer to access through a rod. [And leave my > > spell points for offensive spells.] That was with version second-to-newest. > > I have a big, HUGE problem with this illiteracy thing in the > > newest version. If you can't read scrolls or books, [in order to use > > magic, go on quests, or learn spells], than the game is just slash and > > hack to use your phrase. And how often does a skill scroll of literacy > > come along? How are new players supposed to get oriented with the game if > > they can't read signs [like in beginners?]. How are THEY supposed to > > identify things? The only time its worth it to pay the twenty gold coins > > to identify something is when its magical. This version is not playable. > > AT ALL. I also am curious to how much literacy scrolls cost. Most of the skill scrolls are not all that cheap, so this could be another consideration. > > If you want to make literacy a skill, fine, put it in the mental > > category and make everyone born with it like they are born with the > > skill of "find traps". The way the game is set up, it makes a lot more > > sense for someone to be born with literacy than with find traps. In > > other words, you can still play the game and just deal with traps as > > they go along. But without the ability to read scrolls and books, the > > game IS NOT PLAYABLE! There is no wand of identify. Ball lightening > > only comes on scrolls, I've never seen a spellbook for it. The > > spellbook for destruction is something like level 16. Remove curse and > > Remove Damnation are also prohibitively high-level and its stupid to > > try and learn those spells when you only use them very infrequently. > > What is a beginning character supposed to do when they apply a weapon of > > Woe? They're stats are going to be so low that they won't be able to raise > > enough money to buy a skill scroll of literacy even if they do come > > across one. This is a very valid point. To add some color to the game, it would be nice to have some spell casting altars (drop 200 gp, get remove damnation cast on your - maybe even alter the cost of the spell if the altars and players god match/disagree) > > By the way, I find it interesting that there are so many > > high-level dungeons when I've been playing this game for almost a year and > > I have yet to get past level 12. I have played for at least 200 hours > > cumulative in the last nine months. And this is when my characters were > > equipped with a rod of medium healing, and ring of Acid, and amulets of > > reflect missiles and reflect spells. I can get to about level 10 in under 20 hours of play. The main 'trick' is being able to fighter monsters that are hard to kill, but not too hard such taht you die. Fighting orcs/kobolds/goblins might be good for the first few levels, but the experience quickly drops after that. You then need to find ogres and skeletons, then perhaps small trolls and hill giants. I am not sure how the high level stuff is balanced now, but before, it was once you could kill a big dragon without too much difficulty, you were pretty much set - you can kill them, get a good amount of experience and a lot of treasure. With the treasure you could then increase your weapon to be really powerful - really powerful weapons tend not to be harder if you use the new weapon code. > > I do know people who have gotten to such high levels but they > > edited their player files and gave themselves creative artifacts like ring > > (dam+50) and amulet of awesome (immune:drain, fire, cold, ghosthit, > > electricity, poison), etc.. They did not actually get to such high > > levels by just playing the game. > > It is possible. One big difference can be if NOT_PERMADEATH is used or not. If it is used (which means when you die, you lose a stat point, experience, and go back to starting town), it is easier. This is simply because you can take on the tougher monsters and perhaps die once in a while, but you are not quite as worried (if you play that you die and that is pretty much it, you will tend to play very cautiously). The newer skill stuff may change this. With the skill system, it is very important to have high stats in the appropriate skill, because you get more experience that way. > > sincerely and respectfully yours > > -Ehren Tobias Evans > > > >-- End of excerpt from Frank Tore Johansen -- --Mark From owner-crossfire Mon Mar 18 11:08:25 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 18 Mar 1996 11:08:25 +0100 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 ; Mon, 18 Mar 1996 11:08:20 +0100 Received: by tenjin.ics.es.osaka-u.ac.jp (8.6.12+2.4W/hal-MX-3.2-slave-1) id TAA04982; Mon, 18 Mar 1996 19:07:21 +0900 Message-Id: <199603181007.TAA04982@tenjin.ics.es.osaka-u.ac.jp> From: KAWAMOTO Yosihisa Mime-Version: 1.0 To: Peter Mardahl cc: crossfire@ifi.uio.no References: <199603180820.AAA05969@soda.CSUA.Berkeley.EDU> Subject: Re: CF: Quetzalcoatl Date: Mon, 18 Mar 1996 19:07:20 +0900 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO In message <199603180820.AAA05969@soda.CSUA.Berkeley.EDU> Peter Mardahl wrote: > > I have two questions about quetzalcoatl. > > > > 1. The archetype of quetzalcoatl has 'can_use_weapon 1' entry, > > but treasure of quetzalcoatl in treasures doesn't have 'arch > > skill_melee_weapon'. So quetzalcoatls cannot use weapon. > > Is this a bug? > > It is if you honor my original intention with which i created > the quetzalcoatl's. They are to be powerful spellcasters who > cannot learn spells easily at all, able to use weapons, but > unable to use armor. This is the one I want to hear. I add the skill_melee_weapon to quetzalcoatl by following patch. *** treasures- Wed Nov 22 17:32:00 1995 --- treasures Sat Mar 16 20:24:09 1996 *************** *** 2047,2052 **** --- 2047,2054 ---- arch book end treasure quetzalcoatl + arch skill_melee_weapon + more arch skill_missile_weapon more arch skill_clawing > > 2. Attacking by clawing skill cannot get physical experiences. > > Why cannot clawing skill get experiences? > > Sounds like a bug to me. I change the clawing in skill_params file to followings. clawing 3 0 0 1.0 0 1 99 -- iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp From owner-crossfire Mon Mar 18 07:05:27 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 18 Mar 1996 07:05:27 +0100 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 ; Mon, 18 Mar 1996 07:04:38 +0100 Received: by tenjin.ics.es.osaka-u.ac.jp (8.6.12+2.4W/hal-MX-3.2-slave-1) id PAA03689; Mon, 18 Mar 1996 15:04:17 +0900 Message-Id: <199603180604.PAA03689@tenjin.ics.es.osaka-u.ac.jp> Mime-Version: 1.0 To: From: KAWAMOTO Yosihisa Subject: CF: Quetzalcoatl Date: Mon, 18 Mar 1996 15:04:16 +0900 Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO Hello. I have two questions about quetzalcoatl. 1. The archetype of quetzalcoatl has 'can_use_weapon 1' entry, but treasure of quetzalcoatl in treasures doesn't have 'arch skill_melee_weapon'. So quetzalcoatls cannot use weapon. Is this a bug? 2. Attacking by clawing skill cannot get physical experiences. Why cannot clawing skill get experiences? P.S. About the treatment of multiple attacktypes, I think it seems good to average damages of all the attacks. -- iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp From owner-crossfire Tue Mar 12 01:29:09 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 12 Mar 1996 01:29:09 +0100 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, 12 Mar 1996 01:29:06 +0100 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA24934; Mon, 11 Mar 96 16:28:34 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA24452; Tue, 12 Mar 96 00:28:32 GMT From: "Mark Wedel" Message-Id: <9603111628.ZM24450@stealth.eng.pyramid.com> Date: Mon, 11 Mar 1996 16:28:31 -0800 In-Reply-To: "Ken Woodruff" "RE: saving throw and multiple attacktypes" (Mar 10, 9:13am) References: X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: "Ken Woodruff" , "Crossfire Mailing List" Subject: CF: Re: saving throw and multiple attacktypes Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO On Mar 10, 9:13am, Ken Woodruff wrote: > Subject: RE: saving throw and multiple attacktypes > > As Mark points out there's some confusion of "attack type" versus "weapon > effect" that needs to be worked out here as well. I can't make sense of > fear doing damage, > but I can see how fire can do damage. Maybe these should be broken out into > separate flags, or at least interpreted differently. It is probably easiest to just interpert them differently (fear, confusion, etc do no damage.) However, I am not sure if this would cause some spells to not function as intended. > > > This is a pretty good weapon - actually means that weapons with a lot > > of attack types isn't necessarily what you want. > > Except that weapons with more attack types should generally have a higher base > damage > than other weapons. I would expect my flaming steel sword to hurt worse than > an ordinary > sword. I guess under this model a weapon's "damage" would actually be > "optimal damage assuming > all attack types are effective". This is an assumption that probalby isn't always true (I believe some of the items in the artifacts file will grant additional attack types without increasing the base damage.) There seems to be some slight confusion on how the damage differs. I think I will restart them with a little more clarification: 1) Damage for all the attacks is averaged - thus if you weapon has 4 attack types, but only 2 of them can affect the creature, you effectively do half damage. The formula would be something like (sum of all attack type damage)/(numer of attacktypes) 2) Take the highest damage value. This makes multiple attacktype weapons more powerful. (max of all attack type damage) 3) Sum all the damage values (sum of all attack types.) Note that #3 and #1 have a major difference in that one is divided and one isn't. If the weapon has only 1 attack type, this is exactly the same. If a weapon has 3 attack types, this could be very different (Assuming that the monster has immunities or protections.) Thus, to restate Ken's example: I agree with this principle. Think of it this way: If a sword was made of ordinary steel then all of its damage derives from a physical attack. If you had a magical sword whose blade was pure fire, then all of its damage derives from fire, no physical damage. If you had a steel sword that was flaming, then it would do both kinds, but to creatures that were immune to physical it should only cause damage from the heat portion of the attack. So lets go through the 3 cases for a creature that is immune to phyiscal, but is being attacked by a weapon that does physical and fire: Case 1: Takes 0 damage from phys, and x damage from fire. Weapon has 2 attack types, so damage is x/2 Case 2: Takes 0 from phys, x from fire. max of 0 and x is is, so it takes x damage. Case 3: Take 0 from phys, x from fire. 0+x is x, takes x damage. Note that a lot of this only makes a difference if the weapon has multiple attack types. If a weapon only has 1 attack type, all 3 cases are the same However, lets look at a similar example. Weapon does fire & phys. Creature is vulnerable to fire. Damage in each case: Case 1: Take x from phys, 2x from fire. This is 3x, with 2 attack types, so damage 1.5x Case 2: max of x and 2x is 2x, so takes 2x. Case 3: sum of x and 2x is 3x, so takes 3x. Case 1 and Case 2 seem to be the only reasonable choices. Note that case 2 will always be better, and it means that a weapon with a lot of attack types will have no disadvantage (since you will always do the best.) Case 1 averages this out - it means that if the weapon has 6 attack types, chances are the creature can be hit by some, might be vulnerable to others, and immune/protected to yet others. Over all, damage is probably going to be less than x. -- --Mark From owner-crossfire Mon Mar 11 17:02:51 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 11 Mar 1996 17:02:51 +0100 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 ; Mon, 11 Mar 1996 17:02:47 +0100 From: Kjetil Torgrim Homme Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Mon, 11 Mar 1996 17:02:46 +0100 Date: Mon, 11 Mar 1996 17:02:46 +0100 Message-Id: <199603111602.9091.mne.ifi.uio.no@ifi.uio.no> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Spam gone? Sender: owner-crossfire@ifi.uio.no Precedence: bulk Status: RO This list is now run on top of Majordomo, so that the likes of the Magazine Spam will be filtered out. This mail serves as both a happy message and a test to see if the list is working :-) The filtering is done against the subscriber list. So if you send messages from an address different from your subscription address, I'll have to approve it manually, resulting in some delay (usually less than a working day). Kjetil T. From crossfire-request Sun Mar 10 10:24:53 1996 Return-Path: Received: from upsmot03.msn.com (upsmot03.msn.com [204.95.110.85]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Sun, 10 Mar 1996 10:24:52 +0100 Received: by upsmot03.msn.com id AA28021; Sun, 10 Mar 96 01:19:01 -0800 Date: Sun, 10 Mar 96 09:13:55 UT From: "Ken Woodruff" Message-Id: To: "Crossfire Mailing List" Subject: RE: saving throw and multiple attacktypes Status: RO As Mark points out there's some confusion of "attack type" versus "weapon effect" that needs to be worked out here as well. I can't make sense of fear doing damage, but I can see how fire can do damage. Maybe these should be broken out into separate flags, or at least interpreted differently. As far as damage goes: Mark suggests: > 1) Damage for all the attacks is averaged - thus if you weapon has 4 attack > types, but only 2 of them can affect the creature, you effectively do half > damage. I agree with this principle. Think of it this way: If a sword was made of ordinary steel then all of its damage derives from a physical attack. If you had a magical sword whose blade was pure fire, then all of its damage derives from fire, no physical damage. If you had a steel sword that was flaming, then it would do both kinds, but to creatures that were immune to physical it should only cause damage from the heat portion of the attack. > This is a pretty good weapon - actually means that weapons with a lot > of attack types isn't necessarily what you want. Except that weapons with more attack types should generally have a higher base damage than other weapons. I would expect my flaming steel sword to hurt worse than an ordinary sword. I guess under this model a weapon's "damage" would actually be "optimal damage assuming all attack types are effective". > 3) Sum all the damage values - this would be outrageous. This is actually exactly the same algorithm. Under this model a weapon's "damage" would actually be "damage from each effective attack type". Under model 1, let's say our sword has a base of 8 damage, of which we attribute 4 to physical and 4 to the fire. Depending on a monster's immunities we can do any of 8, 4 (phys), 4 (fire), or 0 damage. Under model 3 we set the base damage at 4, meaning we do any of 8 (both effective), 4 (one effective) or 0 (neither effective), same as the first model. The biggest drawback to model 3 is that we'd have to make sure we lowered all of the base damages for multiple attack weapons to reasonable levels. We'd also have to figure out what to display under the damage stat. Model 3 has a slight programming advantage in that it would be easy to account for vulnerabilities by multiplying the damage contribution by the vuln. factor (say 1.5). For example, let's say I attack a wraith that is physically immune (non-corporeal) but vulnerable to fire with my flaming steel. We calculate the damage this way: total damage = phys. mult. * base + fire mult. * base = 0 * 4 + 1.5 * 4 = 6 This seems more reasonable than the sword either doing 0 (based purely on the immunity to physical) or 12 (based purely on the vulnerability to fire). In model 1 you have to first divide the attack by the number of attack types to get the appropriate value for calculating vulnerability effects. As for magic immunity, I don't think that it should imply an immunity to all attacktypes, only those that derive from magic. A flaming piece of wood should do damage as usual (a club plus fire damage). A flaming sword should probably still do the physical portion of its damage, but the flame clearly is magical and should be negated. --Ken From crossfire-request Sat Mar 9 04:45:02 1996 Return-Path: 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 ; Sat, 9 Mar 1996 04:45:01 +0100 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA13116; Fri, 8 Mar 96 19:44:28 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA09032; Sat, 9 Mar 96 03:44:25 GMT From: "Mark Wedel" Message-Id: <9603081944.ZM9030@stealth.eng.pyramid.com> Date: Fri, 8 Mar 1996 19:44:24 -0800 In-Reply-To: KAWAMOTO Yosihisa "Re: saving throw and multiple attacktypes" (Mar 6, 1:16pm) References: <199603050857.RAA15861@tenjin.ics.es.osaka-u.ac.jp> <9603051316.ZM26468@stealth.eng.pyramid.com> <199603060416.NAA20115@tenjin.ics.es.osaka-u.ac.jp> X-Mailer: Z-Mail (3.2.0 06sep94) To: KAWAMOTO Yosihisa , crossfire@ifi.uio.no Subject: Re: saving throw and multiple attacktypes Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Status: RO On Mar 6, 1:16pm, KAWAMOTO Yosihisa wrote: > > > 1. Is this a specification or just bug of multiple attacktypes? > > > > I personally think it is a bug - if you have something that attacks with fear > > and weaponmagic, that should work by doing both damage and possibly causing > > fear. > > If this is a bug, how about following modification? Is it > necessary to take account of AT_MAGIC? > > --- attack.c- Tue Jan 2 20:58:39 1996 > +++ attack.c Wed Mar 6 12:42:46 1996 > @@ -511,7 +511,8 @@ > /* the following includes a secret saving throw for magic: > you get TWO saving throws for magical attacks! */ > (RANDOM()%20+((op->protected&type)?5:1) >= savethrow[op->level])) > - return 0; > + type &=~(AT_PARALYZE|AT_FEAR|AT_POISON|AT_CONFUSION|AT_SLOW| > + AT_CANCELLATION|AT_DEPLETE); > > CLEAR_FLAG(op,FLAG_SCARED); /* Or the monster won't hit back */ > if(get_owner(hitter)) > I looked at the code a bit last night. The problem won't happen with physical atack types (it will do a special attack.) I don't think that patch will do the right thing - while you will still do damage, it will prevent monsters from being feared/slowed/etc. While digging through this, it seems like a good rewrite of the related code would be in order - this would eliminate all the multiple attack type situations. The basic idea would be to attack the creature with each attacktype individually (this may not work with AT_MAGIC). Some examples: PHYSICAL -just attacks them physically. PHSYICAL & FIRE -attack them physical, then attack them with fire FIRE & FEAR -attack with fire,then fear. Thus, a monster immune to some type can still be hit if your weapon has other types. So what to do with damage? I see three possibilities: 1) Damage for all the attacks is averaged - thus if you weapon has 4 attack types, but only 2 of them can affect the creature, you effectively do half damage. This is a pretty good weapon - actually means that weapons with a lot of attack types isn't necessarily what you want. 2) Take the highest damage value. This makes multiple attacktype weapons more powerful. 3) Sum all the damage values - this would be outrageous. attacktype magic should probably be handled as a special case - if the attack has magic, and the creature is immune, then all related attack types are negated (fire, fear, slow, etc - attacks that are magic in idea.) This is only really needed to mimmick existing code. If Option #1 is taken above, this may not be needed quite so badly (something that does AT_FIRE | AT_MAGIC would at most do half damage then..) The next idea would then be this - should all attack types actually be able do do damage? Should you be able to kill someone if all your weapon has is attack type fear? OR should some set of attack types only have various effects but not damage (slow, fear, paralyze, etc.) Thoughts/comments on these ideas? -- --Mark From crossfire-request Wed Mar 6 17:49:23 1996 Return-Path: Received: from mail.cs.tu-berlin.de (root@mail.cs.tu-berlin.de [130.149.17.13]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 6 Mar 1996 17:49:16 +0100 Received: from liszt (stoffel@liszt.cs.tu-berlin.de [130.149.29.53]) by mail.cs.tu-berlin.de (8.6.12/8.6.12) with SMTP id RAA26511 for ; Wed, 6 Mar 1996 17:18:13 +0100 Sender: stoffel@cs.tu-berlin.de Message-ID: <313DBAC2.20EB@cs.tu-berlin.de> Date: Wed, 06 Mar 1996 17:18:10 +0100 From: Mark Mueller Organization: TU Berlin X-Mailer: Mozilla 2.0 (X11; I; SunOS 5.5 sun4m) MIME-Version: 1.0 To: crossfire@ifi.uio.no Subject: subscribe X-URL: http://gin.obspm.fr/~wacren/crossfire/liste/msg00323.html Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO subscribe From crossfire-request Wed Mar 6 05:17:31 1996 Return-Path: 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 ; Wed, 6 Mar 1996 05:17:06 +0100 Received: by tenjin.ics.es.osaka-u.ac.jp (8.6.12+2.4W/hal-MX-3.2-slave-1) id NAA20115; Wed, 6 Mar 1996 13:16:41 +0900 Message-Id: <199603060416.NAA20115@tenjin.ics.es.osaka-u.ac.jp> From: KAWAMOTO Yosihisa To: crossfire@ifi.uio.no References: <199603050857.RAA15861@tenjin.ics.es.osaka-u.ac.jp> <9603051316.ZM26468@stealth.eng.pyramid.com> Subject: Re: saving throw and multiple attacktypes Date: Wed, 06 Mar 1996 13:16:40 +0900 Sender: kawamoto@ics.es.osaka-u.ac.jp Status: RO In message <9603051316.ZM26468@stealth.eng.pyramid.com> "Mark Wedel" wrote: > > 0. What is saveing throw? I can't understand a meaning and an > > idea of these words. > > > > The idea of a saving through comes from D&D. Basically, as determined by some > luck, level, and other protections, you may be unaffected by some attack type. > > Thus, a high level person is not as likely to become confused, poisened, etc > as a low level person I understand the idea of saving throw(through?). Thank you. > > 1. Is this a specification or just bug of multiple attacktypes? > > I personally think it is a bug - if you have something that attacks with fear > and weaponmagic, that should work by doing both damage and possibly causing > fear. If this is a bug, how about following modification? Is it necessary to take account of AT_MAGIC? --- attack.c- Tue Jan 2 20:58:39 1996 +++ attack.c Wed Mar 6 12:42:46 1996 @@ -511,7 +511,8 @@ /* the following includes a secret saving throw for magic: you get TWO saving throws for magical attacks! */ (RANDOM()%20+((op->protected&type)?5:1) >= savethrow[op->level])) - return 0; + type &=~(AT_PARALYZE|AT_FEAR|AT_POISON|AT_CONFUSION|AT_SLOW| + AT_CANCELLATION|AT_DEPLETE); CLEAR_FLAG(op,FLAG_SCARED); /* Or the monster won't hit back */ if(get_owner(hitter)) > > 2. Praying at the alter add some attacktypes to a weapon but > > almost weapons lose the attacktype 'physical'. I think > > leaving 'physical' is better. Are there any reason to lose > > 'physical'? > > If attacktype weaponmagic replaces physical, it makes a lot of sense. But > this is a tough question. A weapon that attacks both fire and physical may be > better than one that attacks just fire or just physical depending on the > monster. > > However, I can say that there should never be a weapon with attacktype of both > physical and weaponmagic - weaponmagic is just a much improved physical in some > sense (there are very few monsters immune to weaponmagic, there are a fair > number immune to physical.) I see. It seems good to leaving physical. -- iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp From crossfire-request Tue Mar 5 22:17:23 1996 Return-Path: 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, 5 Mar 1996 22:17:22 +0100 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA24737; Tue, 5 Mar 96 13:16:50 -0800 Received: by stealth.eng.pyramid.com (5.67/Pyramid_Internal_Configuration) id AA26470; Tue, 5 Mar 96 21:16:25 GMT From: "Mark Wedel" Message-Id: <9603051316.ZM26468@stealth.eng.pyramid.com> Date: Tue, 5 Mar 1996 13:16:25 -0800 In-Reply-To: KAWAMOTO Yosihisa "saving throw and multiple attacktypes" (Mar 5, 5:57pm) References: <199603050857.RAA15861@tenjin.ics.es.osaka-u.ac.jp> X-Mailer: Z-Mail (3.2.0 06sep94) To: KAWAMOTO Yosihisa , crossfire@ifi.uio.no Subject: Re: saving throw and multiple attacktypes Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Status: RO On Mar 5, 5:57pm, KAWAMOTO Yosihisa wrote: > Subject: saving throw and multiple attacktypes > In crossfire 0.92.2, a follower of God prayed at the alter and > got two attacktypes, weaponmagic and fear. But this weapon is > very useless because fear blocks almost any other attacks in > server/attack.c. > > /* Basically, the next glob of code does saving throw for the attack types */ > if(type&(AT_PARALYZE|AT_FEAR|AT_POISON|AT_CONFUSION|AT_SLOW| > AT_CANCELLATION|AT_DEPLETE)) > if(!op->speed||(!QUERY_FLAG(op, FLAG_MONSTER)&&op->type!=PLAYER)|| > RANDOM()%((type&AT_SLOW)?6:3)|| > /* the following includes a secret saving throw for magic: > you get TWO saving throws for magical attacks! */ > (RANDOM()%20+((op->protected&type)?5:1) >= savethrow[op->level])) > return 0; > > I have some questions. > > 0. What is saveing throw? I can't understand a meaning and an > idea of these words. > The idea of a saving through comes from D&D. Basically, as determined by some luck, level, and other protections, you may be unaffected by some attack type. Thus, a high level person is not as likely to become confused, poisened, etc as a low level person > 1. Is this a specification or just bug of multiple attacktypes? I personally think it is a bug - if you have something that attacks with fear and weaponmagic, that should work by doing both damage and possibly causing fear. > > 2. Praying at the alter add some attacktypes to a weapon but > almost weapons lose the attacktype 'physical'. I think > leaving 'physical' is better. Are there any reason to lose > 'physical'? If attacktype weaponmagic replaces physical, it makes a lot of sense. But this is a tough question. A weapon that attacks both fire and physical may be better than one that attacks just fire or just physical depending on the monster. However, I can say that there should never be a weapon with attacktype of both physical and weaponmagic - weaponmagic is just a much improved physical in some sense (there are very few monsters immune to weaponmagic, there are a fair number immune to physical.) > -- > iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp >-- End of excerpt from KAWAMOTO Yosihisa -- --Mark From crossfire-request Tue Mar 5 09:59:00 1996 Return-Path: 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, 5 Mar 1996 09:58:13 +0100 Received: by tenjin.ics.es.osaka-u.ac.jp (8.6.12+2.4W/hal-MX-3.2-slave-1) id RAA15861; Tue, 5 Mar 1996 17:57:55 +0900 Message-Id: <199603050857.RAA15861@tenjin.ics.es.osaka-u.ac.jp> To: crossfire@ifi.uio.no From: KAWAMOTO Yosihisa Subject: saving throw and multiple attacktypes Date: Tue, 05 Mar 1996 17:57:54 +0900 Sender: kawamoto@ics.es.osaka-u.ac.jp Status: RO In crossfire 0.92.2, a follower of God prayed at the alter and got two attacktypes, weaponmagic and fear. But this weapon is very useless because fear blocks almost any other attacks in server/attack.c. /* Basically, the next glob of code does saving throw for the attack types */ if(type&(AT_PARALYZE|AT_FEAR|AT_POISON|AT_CONFUSION|AT_SLOW| AT_CANCELLATION|AT_DEPLETE)) if(!op->speed||(!QUERY_FLAG(op, FLAG_MONSTER)&&op->type!=PLAYER)|| RANDOM()%((type&AT_SLOW)?6:3)|| /* the following includes a secret saving throw for magic: you get TWO saving throws for magical attacks! */ (RANDOM()%20+((op->protected&type)?5:1) >= savethrow[op->level])) return 0; I have some questions. 0. What is saveing throw? I can't understand a meaning and an idea of these words. 1. Is this a specification or just bug of multiple attacktypes? 2. Praying at the alter add some attacktypes to a weapon but almost weapons lose the attacktype 'physical'. I think leaving 'physical' is better. Are there any reason to lose 'physical'? -- iKAWAMOTO Yosihisa! kawamoto@ics.es.osaka-u.ac.jp