From owner-crossfire Thu Aug 1 19:55:33 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 1 Aug 1996 19:55:33 +0200 Received: from mailer.scri.fsu.edu (mailer.scri.fsu.edu [144.174.128.110]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 1 Aug 1996 19:55:28 +0200 Received: from indigo2.scri.fsu.edu (indigo2.scri.fsu.edu [144.174.128.47]) by mailer.scri.fsu.edu (8.6.12/8.6.12) with ESMTP id NAA27959; Thu, 1 Aug 1996 13:57:32 -0400 Received: by indigo2.scri.fsu.edu (940816.SGI.8.6.9/931108.SGI.AUTO.ANONFTP) id NAA25744; Thu, 1 Aug 1996 13:55:05 -0400 Date: Thu, 1 Aug 1996 13:55:05 -0400 From: murray@indigo2.scri.fsu.edu (John R. Murray) Message-Id: <199608011755.NAA25744@indigo2.scri.fsu.edu> Mime-Version: 1.0 To: zed@cyberus.engr.sgi.com, crossfire@ifi.uio.no Subject: Re: CF: Bug on my compilation of the thing Cc: murray@indigo2.scri.fsu.edu References: <199608010756.DAA21762@indigo2.scri.fsu.edu> Sender: owner-crossfire Precedence: bulk Status: RO >> I tried compiling with the server code turned on. My workaround was to run >> strictly single-user mode (SERVER not defined). I was running 0.92.4 at the >> time. (wasn't on the list then, or I might have said something..) > >Hmmm, how do I run a server in that case? Do I need to compile it twice, once >with server defined and once without server defined, and then use the first one >for my server and the second one for my client? Messy... My guess would be that to run the server on SGIs, you'll have to debug it :-) I may (or may not) be able to contribute to the effort eventually, but definitely not until after I come back from SIGGRAPH in 1.5 weeks. I will try to see if the behavior with SERVER defined is the same in 0.92.5 as it was in .4, but that's about all I'll have time for. >> At least 0.92.5 compiles right out of the box on SGIs now! :-) (with SGI cc >> on IRIX 5.3). 0.92.4 needed some fiddling before it would build properly.. > >My Irix is 6.2 with the latest and greatest patches... I kinda figured you would be running the L&G... :-) I put the OS version in more for the crossfire developers, in case they wanted to add SGI/IRIX to their list of known-to-have-compiled-successfully-at-least-once systems. -- John R. Murray murray@indigo2.scri.fsu.edu http://www.scri.fsu.edu/~murray/ FSU Aikido Club/North Florida Aikikai home of Miko's Aikido MPEGs and the Tallahassee, FL WWW Aikido online calendar of events Politics, n: from "poly ticks", short for "many small bloodsucking insects" -- Henry Spencer From owner-crossfire Thu Aug 1 19:10:52 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 1 Aug 1996 19:10:52 +0200 Received: from sgi.sgi.com (SGI.COM [192.48.153.1]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 1 Aug 1996 19:10:47 +0200 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id KAA09573; Thu, 1 Aug 1996 10:10:37 -0700 Received: from cyberus.engr.sgi.com (cyberus.engr.sgi.com [192.26.52.28]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id KAA03574; Thu, 1 Aug 1996 10:10:35 -0700 Received: (from zed@localhost) by cyberus.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) id KAA04023; Thu, 1 Aug 1996 10:10:34 -0700 From: "Sebastien Loisel" Message-Id: <9608011010.ZM4021@cyberus.engr.sgi.com> Date: Thu, 1 Aug 1996 10:10:33 -0700 In-Reply-To: murray@indigo2.scri.fsu.edu (John R. Murray) "CF: Bug on my compilation of the thing" (Aug 1, 3:56am) References: <199608010756.DAA21762@indigo2.scri.fsu.edu> X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) Mime-Version: 1.0 To: murray@indigo2.scri.fsu.edu (John R. Murray), crossfire@ifi.uio.no Subject: Re: CF: Bug on my compilation of the thing Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO On Aug 1, 3:56am, John R. Murray wrote: > Do you have SERVER defined? I experienced similar problems on my SGI when I'll check that... > I tried compiling with the server code turned on. My workaround was to run > strictly single-user mode (SERVER not defined). I was running 0.92.4 at the > time. (wasn't on the list then, or I might have said something..) Hmmm, how do I run a server in that case? Do I need to compile it twice, once with server defined and once without server defined, and then use the first one for my server and the second one for my client? Messy... > At least 0.92.5 compiles right out of the box on SGIs now! :-) (with SGI cc > on IRIX 5.3). 0.92.4 needed some fiddling before it would build properly.. My Irix is 6.2 with the latest and greatest patches (that's what I develop...) To be precise, it's got patch 1333 and a beta patch 1447 which sometimes crashes me. :-) -- , Sebastien Loisel SGI Graphics Engineering/NextGen Graphics (ISD) zed@sgi.com zed@cs.mcgill.ca http://www.cs.mcgill.ca/~zed From owner-crossfire Thu Aug 1 18:23:14 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 1 Aug 1996 18:23:14 +0200 Received: from ceb.ucop.edu (root@ceb.ucop.edu [128.48.185.1]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 1 Aug 1996 18:23:02 +0200 Received: from smtpgate.bogus.netw ([101.48.185.2]) by ceb.ucop.edu (8.6.10/8.6.10) with SMTP id JAA00292 for ; Thu, 1 Aug 1996 09:22:57 -0700 Received: by smtpgate.bogus.netw with Microsoft Mail id <3200DAD6@smtpgate.bogus.netw>; Thu, 01 Aug 96 09:27:02 PDT From: Sean Klein Mime-Version: 1.0 To: Crossfire Subject: CF: Newbie problem Date: Thu, 01 Aug 96 08:50:00 PDT Message-ID: <3200DAD6@smtpgate.bogus.netw> Encoding: 13 TEXT X-Mailer: Microsoft Mail V3.0 Sender: owner-crossfire Precedence: bulk Status: RO I compiled Crossfire just fine recently in default mode. I then compiled with the bitmap option. The program compiled fine but would not run. I got this message after the copyright notices: SIGSEGV received IOT trap/Abort I'm running the game on a standalone Linux box in the /usr/local/games/crossfire directory. It's version 0.91.8. I suspect that I'm not putting the Crossfire images in the right spot but that's only a guess. Any help for someone who wants a more colorful Crossfire game? Thanks in advance. From owner-crossfire Thu Aug 1 09:57:32 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 1 Aug 1996 09:57:32 +0200 Received: from mailer.scri.fsu.edu (mailer.scri.fsu.edu [144.174.128.110]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 1 Aug 1996 09:57:28 +0200 Received: from indigo2.scri.fsu.edu (indigo2.scri.fsu.edu [144.174.128.47]) by mailer.scri.fsu.edu (8.6.12/8.6.12) with ESMTP id DAA23351 for <@mailer.scri.fsu.edu:crossfire@ifi.uio.no>; Thu, 1 Aug 1996 03:59:35 -0400 Received: by indigo2.scri.fsu.edu (940816.SGI.8.6.9/931108.SGI.AUTO.ANONFTP) id DAA21762; Thu, 1 Aug 1996 03:56:45 -0400 Date: Thu, 1 Aug 1996 03:56:45 -0400 From: murray@indigo2.scri.fsu.edu (John R. Murray) Message-Id: <199608010756.DAA21762@indigo2.scri.fsu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Bug on my compilation of the thing Cc: murray@indigo2.scri.fsu.edu Sender: owner-crossfire Precedence: bulk Status: RO >I isolated the code that appears to me to be causing the problem (note: I'm >using the supposedly latest and greatest version, 0.92.5). The code snippet you >see below is from move.c in the server directory. The only change I made to it >was to add a call to new_draw_info_format to see what was happening. Each time >I move, I see a "2" printed in the output window, indicating that this piece of >code was executed. It is my opinion that the program thinks that the whole map >is impassable for some obscure reason. Do you have SERVER defined? I experienced similar problems on my SGI when I tried compiling with the server code turned on. My workaround was to run strictly single-user mode (SERVER not defined). I was running 0.92.4 at the time. (wasn't on the list then, or I might have said something..) At least 0.92.5 compiles right out of the box on SGIs now! :-) (with SGI cc on IRIX 5.3). 0.92.4 needed some fiddling before it would build properly.. -- John R. Murray murray@indigo2.scri.fsu.edu http://www.scri.fsu.edu/~murray/ FSU Aikido Club/North Florida Aikikai home of Miko's Aikido MPEGs and the Tallahassee, FL WWW Aikido online calendar of events Politics, n: from "poly ticks", short for "many small bloodsucking insects" -- Henry Spencer From owner-crossfire Tue Aug 6 01:01:10 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 6 Aug 1996 01:01:10 +0200 Received: from ender.ring.org (krisb@DNS.RING.ORG [204.27.179.2]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 6 Aug 1996 01:01:04 +0200 Received: (from krisb@localhost) by ender.ring.org (8.6.12/8.6.9) id QAA08380; Mon, 5 Aug 1996 16:10:12 -0700 Date: Mon, 5 Aug 1996 16:10:00 -0700 (PDT) From: Kristofer Bosland Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: OpenWorld update (fwd) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-crossfire Precedence: bulk Status: RO ---------- Forwarded message ---------- Date: Tue, 2 Jul 1996 13:36:11 -0400 (EDT) From: Michael B. Martin To: crossfire@ifi.uio.no Subject: CF: OpenWorld update Well, I got in touch with the person working on the OpenWorld project (generic game engine for crossfire-like games) over the weekend. I am including his full reply at the end of this message. It basically says that he has selected the BeBox (see http://www.be.com/ if you don't know what this is) as his initial development platform, and that he has begun working on server code. It looks like it will be a while (maybe a long while) before he has something really usable ready. Oh, well. -Michael ---------------------------------------------------------------------------- >From bull@cs.unr.edu Date: Sun, 30 Jun 96 13:14:57 PDT From: "W.E.B" To: "Michael B. Martin" Subject: Re: OpenWorld Well, I'm now working on writing the server on my new BeBox. I'll be putting the specs for the development system up, I suppose next weekend. (I'm looking at a $50/annual web site for my BeBox development pages.) What does this mean? There's two directions this will be going: 1) There will be an open standard/protocol for client and server communication. This will explain the requirements for the clients pasar and the rest is up to the client for requesting retrieval and other information. 2) My first goal is now working on an enhanced communication system using the SOM (CORBA 2.0 compliant) API which Be Inc. is adopting. This will be for accelerated and simplified development for BeBox players. Why the BeBox? First of all it's POSIX compatible. ie. There's UNIX underneath. Next, it's fast and cheap and may very well be the next pc-desktop workstation low cost pc-organ-donor multiprocessor CHIRP/PREP compliant computer to take over the planet. Well, to be honest it has a lot going for it and is really going to be great for running servers and such. The development tools are in place and the power to price performance can't really be beaten (especially looking long term.) And finally, the API (application programming interface) is SLICK, simple to use and object oriented. It supports shared memory and libraries and we're receiving a lot of help from the developer guys at Be Inc. How long is this going to take to be public and all over the place? Well, first a solid design on the BeBox will have to be running. Once the core is up, it can be ported to UNIX very easily. I'm not saying much online about this since I want to make sure it's object model is done well. I don't have a huge requirement for a lot of help since it's just me and Mike Brown (and the rest of the world doesn't have a BeBox yet.) We're working on two BeBoxes in an office in the University of Nevada, Reno and still have classes and such pressing heavily upon us. How about a recap? The goal is still for a modular networkable game development system. We're concentrating less on the game itself and more on the tools for developing gaming 'systems'. Since the difficulties with platform independent coding hasn't been resolved with Java (although we work very hard a making it do-so) we are now resloving back to C++, our preferred language. The system will consists of a driver (much like a mud) and a rule library for the style of game the driver is running. There will be a dynamic editor/creation system to expand the rule library and manipulte the data common to the system. The BeBox has a very powerful integrated database in the OS. This will be tightly coupled to the driver and allow for excellent response time in managing the system as a whole. The common message system within the BeOS also makes reusing data (such as a standard graphics object, pictures, text, etc.) much more managable in a drag and drop development environment. Will this be public? We hope so. I'm not in this for the money, but there's nothing stopping me from doing a total rewrite a few years from now to put out a professional version of the developer and association modelling system we're working on. --- Please be patient, we're really trying to do something right in what little time we have. Since we're being held up by Be for the next version of the OS, dr8 we've been told to wait for the CORBA networking parts. Once this is released most of the networking specs will be much more definative. I'll get to you and outline of the system a.s.a.p., if not on the web at least ftp'able so you can read more about how we inted to implement the networking protocols and the development ontology. From owner-crossfire Mon Aug 5 20:38:23 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 5 Aug 1996 20:38:23 +0200 Received: from mne.ifi.uio.no (1232@mne.ifi.uio.no [129.240.70.5]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 5 Aug 1996 20:38:20 +0200 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Mon, 5 Aug 1996 20:38:18 +0200 Message-Id: <199608051838.6439.mne.ifi.uio.no@ifi.uio.no> From: Tyler Van Gorder Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Open World? Date: Mon, 5 Aug 1996 10:26:26 -0700 Sender: owner-crossfire Precedence: bulk Status: RO I am trying to get a hold of the people doing the open world project in c++. Does anyone have a contact address? Thanks From owner-crossfire Mon Aug 5 05:01:34 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 5 Aug 1996 05:01:34 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 5 Aug 1996 05:01:29 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA28494; Sun, 4 Aug 96 20:00:55 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id UAA23158; Sun, 4 Aug 1996 20:00:43 -0700 From: "Mark Wedel" Message-Id: <9608042000.ZM23154@stealth.eng.pyramid.com> Date: Sun, 4 Aug 1996 20:00:43 -0700 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: tex spoiler help. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO Following up on a bug reported to me about spoiler generation. I looked into it, but am not all that knowledgable of tex. There are at least 2 things that might be the problem: The longtable.sty file and the A4.sty file. Neither of these seem to be part of the normal tex distribution (there is an a4.sty file - is this equivalant?) For the longtable.sty file, the spoiler readme says it can be gotten off the ifi ftp site, but it no longer seems to be there. I grabbed one out of a standard tex place - is this the same as the previous? I used to have this working, but then I upgrade OS, and no longer had my previous tex files that worked. Anyways, here is the problem I get: [hugin:/home/hugin/a/cf/doc/spoiler] (256) % make spoiler rm -f spoiler.aux latex spoiler.tex This is TeX, Version 3.1415 (C version 6.1) (spoiler.tex LaTeX Version 2.09 <25 March 1992> (/usr/local/lib/texmf/tex/latex/base/article.sty Standard Document Style `article' <14 Jan 92>. (/usr/local/lib/texmf/tex/latex/base/art11.sty)) (/usr/local/lib/texmf/tex/latex/base/A4.sty) (/usr/local/lib/texmf/tex/latex/base/psfig.sty psfig/tex 1.10-dvips ) (/usr/local/lib/texmf/tex/latex/base/longtable.sty) No file spoiler.aux. (version.tex) (stats.tex FATAL ERROR: no bb supplied or found ! Undefined control sequence. \compute@bb ...RROR: no bb supplied or found} \no -bb-error \fi \count 203=\... \compute@sizes -> \compute@bb \if@scalefirst \if@angle \if@width \in@hundred... \psfig ...rms \parse@ps@parms {#1} \compute@sizes \ifnum \@p@scost <\@psdraf... l.1 ...s,width=0.40cm,height=0.40cm,rwidth=0.25cm} &24 &21 &24 &14 &19 &20 &... So I have a feeling that someplace I am not using the correct files. If you have the correct ones, I would appreciate a copy (and will also put one in the spoiler directory for future referance and for others that plan to build the spoilers..) Thanks. -- --Mark From owner-crossfire Thu Aug 15 21:18:47 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 15 Aug 1996 21:18:47 +0200 Received: from mailer.scri.fsu.edu (mailer.scri.fsu.edu [144.174.128.110]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 15 Aug 1996 21:18:43 +0200 Received: from indigo2.scri.fsu.edu (indigo2.scri.fsu.edu [144.174.128.47]) by mailer.scri.fsu.edu (8.6.12/8.6.12) with ESMTP id PAA16411; Thu, 15 Aug 1996 15:20:48 -0400 Received: by indigo2.scri.fsu.edu (940816.SGI.8.6.9/931108.SGI.AUTO.ANONFTP) id PAA00480; Thu, 15 Aug 1996 15:18:29 -0400 Date: Thu, 15 Aug 1996 15:18:29 -0400 From: murray@indigo2.scri.fsu.edu (John R. Murray) Message-Id: <199608151918.PAA00480@indigo2.scri.fsu.edu> Mime-Version: 1.0 To: Raphael.Quinet@eed.ericsson.se Subject: Re: CF: Bug on my compilation of the thing Cc: crossfire@ifi.uio.no, murray@indigo2.scri.fsu.edu Sender: owner-crossfire Precedence: bulk Status: RO >On Tue, 13 Aug 1996, murray@indigo2.scri.fsu.edu (John R. Murray) wrote: >> What timing! It just happened again. Here's the stack dump out of dbx: >[...] >> 5 _sigtramp(0x3145, 0x6, 0x7fffab10, 0x0) ["sigtramp.s":59, 0xfad5958] >> 6 change_abil(0xfabf1e4, 0x7fffaa60, 0x2, 0x1019fb8c) ["living.c":421, 0x48b328] > >This crash seems to be caused by a temporary improvement which expires (i.e. >you drank a potion of immunity to fire, or you cast a spell of protection >from poison, then the effect expires after some time). The source of the >bug can come from what you did when you drank the potion or read the scroll, >instead of what you are doing when the game crashes. > >> Hmm.. but in the stack trace.. The first parameter of change_abil looks fishy; >> it's out of range. (compare with other pointers).. (I gather from looking >> at the typedef of object in struct.h that op->env (line 127 in server/time.c) >> is supposed to point to another object (or NULL), unless there's some >> deliberate funny business going on somewhere). > >Could this be a pointer to an area located on the program's stack? Could you >compare with other pointers and see if that apparently incorrect pointer is >pointing to the stack or if it is just invalid? Urf, well, actually, 0xfabf1e4 is pointing below the stack, which on this machine begins around 0x10000000 (+ statically allocated variables) and grows upward (and the heap begins around 0x7fffffff and grows downward). However, the SEGV did *not* happen at the first reference (see change_abil source, the SEGV in this case happened at line 421: op->path_repelled&=~tmp->path_repelled, after 5 other similar assignments), which causes me to wonder if something else (maybe a signal handler?) is stepping on the stack. Everything else in the source around that point seems pretty straightforward. >Also, if this bug is caused by a spell, could you say which spell was used and >how (from a scroll, rod, wand, potion, or is it a "known" spell?) To the best of my knowledge, the char wasn't under a spell. This char has too many difficulties using scrolls (can you say, "Stoopid"? I knew you could! :-), and generally doesn't use protection, etc, spells anyway because he's got a whole bagful of rings (about the only non-wearable magic he uses at all is stat-raising potons, and the occasional offensive wand or rod against something really nasty). Unless god-granted protections fall under the category of temporary spell? He got, hmm, draining and... (gotta go check..) depletion from praying to (I think) God. (hey! he's also got protection from poison! I'm not sure where that came from.. are there racial intrinsic resistances? This is a barbarian) In any case, it crashed again last night, in a different spot. I don't remember exactly what was going on during this crash (most of the crashes seem to happen when there's some big fight going on, so it's hard to keep track of all events and keystrokes). Here's the stack dump from that crash: > 0 _kill(0x5320, 0x6, 0x7fffa9e0, 0x0) ["kill.s":15, 0xfae25d4] 1 raise(0x6, 0x6, 0x7fffa9e0, 0x0) ["raise.c":22, 0xfae3928] 2 abort(0x5320, 0x6, 0x7fffa9e0, 0x0) ["abort.c":37, 0xfb17354] 3 fatal_signal(0x1, 0x1, 0x7fffa9e0, 0x0) ["init.c":516, 0x4329fc] 4 rec_sigbus(0xa, 0x6, 0x7fffa9e0, 0x0) ["init.c":499, 0x4328f8] 5 _sigtramp(0x5320, 0x6, 0x7fffaaa0, 0x0) ["sigtramp.s":59, 0xfad5958] 6 remove_ob(0x7fffaa60, 0x1d, 0x3a, 0x7) ["object.c":901, 0x487128] 7 move_object(0x7fffaa60, 0x7, 0x3a, 0x7) ["monster.c":1054, 0x444c74] 8 move_monster(0x7fffaa60, 0x1d, 0x3a, 0x7) ["monster.c":289, 0x441588] 9 process_object(0x7fffaa60, 0x1d, 0x3a, 0x7) ["time.c":653, 0x477000] 10 process_events(0x0, 0x1d, 0x3a, 0x7) ["main.c":683, 0x43f8c0] 11 main(0x2, 0x7fffaf4c, 0x7fffaf58, 0x7) ["main.c":866, 0x4402cc] 12 __start() ["crt1text.s":133, 0x4114ac] The pointers on the stack look ok this time, near as I can tell. -- John R. Murray murray@indigo2.scri.fsu.edu http://www.scri.fsu.edu/~murray/ FSU Aikido Club/North Florida Aikikai home of Miko's Aikido MPEGs and the Tallahassee, FL WWW Aikido online calendar of events Politics, n: from "poly ticks", short for "many small bloodsucking insects" -- Henry Spencer From owner-crossfire Thu Aug 15 13:08:09 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 15 Aug 1996 13:08:09 +0200 Received: from rulway.leidenuniv.nl (rulway.LeidenUniv.nl [132.229.8.6]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 15 Aug 1996 13:08:06 +0200 Received: from chemde4.LeidenUniv.nl by rulway.leidenuniv.nl with SMTP id AA12245 (5.67b/IDA-1.5 for <@RULWAY.LEIDENUNIV.NL:crossfire@ifi.uio.no>); Thu, 15 Aug 1996 13:08:05 +0200 Received: by chemde4.leidenuniv.nl (920330.SGI/920502.SGI) for @RULWAY.LEIDENUNIV.NL:crossfire@ifi.uio.no id AA22358; Thu, 15 Aug 96 13:09:39 +0200 Date: Thu, 15 Aug 96 13:09:39 +0200 From: frits@chemde4.leidenuniv.nl (Frits Daalmans) Message-Id: <9608151109.AA22358@chemde4.leidenuniv.nl> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: ghastly ghasts Cc: frits@chemde4.leidenuniv.nl Sender: owner-crossfire Precedence: bulk Status: RO Hello, In 0.91.5, single user (SERVER undefined), I have had a problem with ghasts in Lake_Country/REtower/tower3; if they hit me, the game crashes; trying to remove removed object I haven't figured out why yet, but a guess: - they have attacktype 4095. this is a bit much :-) and includes AT_PHYSICAL, AT_MAGICAL, AT_GHOSTHIT, AT_WEAPONMAGIC, the elemental attacks, and some more. I looked at the archetypes file and only Jessy has more attacktypes. Pity he/she doesn't have ghosthit though :-) - they can carry objects. If an attacker with AT_GHOSTHIT dissolves, does its inventory tree gets nicely traversed & deleted too? - reducing their attacktype to AT_PARALYZE | AT_PHYSICAL (4097) solved the problem. - I looked into server/attack.c but it was a bit too much for me :-)) Thanks for an otherwise nice game, Frits Frits Daalmans OIO Conformational Analysis Gorlaeus Laboratoria Leiden, The Netherlands E-mail: frits@chemde4.leidenuniv.nl Tel: [+31] (0)71-5274505 From owner-crossfire Wed Aug 14 22:29:48 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 14 Aug 1996 22:29:48 +0200 Received: from ue801di.lrz-muenchen.de (root@dial139.ppp.lrz-muenchen.de [129.187.24.139]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Wed, 14 Aug 1996 22:29:43 +0200 Received: (from fb@localhost) by ue801di.lrz-muenchen.de (8.6.12/8.6.9) id WAA03429 for crossfire@ifi.uio.no; Wed, 14 Aug 1996 22:09:43 -0700 From: Florian Beck Message-Id: <199608150509.WAA03429@ue801di.lrz-muenchen.de> Subject: Re: CF: stat raising potions Mime-Version: 1.0 To: crossfire@ifi.uio.no (crossfire) Date: Wed, 14 Aug 1996 22:09:43 -0700 (MST) Reply-To: h729ihqu@sun1.cip.fak14.uni-muenchen.de In-Reply-To: <199608131607.MAA00677@xplorer.gsfc.nasa.gov> from "Brian Thomas" at Aug 13, 96 12:07:25 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Content-Length: 1966 Sender: owner-crossfire Precedence: bulk Status: RO Brian Thomas wrote: > > > Hmm. Did the value of these change in 0.92.5? I find > that my 18 cha wizard can now buy them for around 200-300 > platinum! THis is a HUGE change in playbalance. I would > vote for changing this back to the old levels. > > -b.t. My monk (10 cha) needs 1700-1800 platinum (1400-1500 with bargaining). My mage (18 cha) needs 1300-1400 platinum (700-800 with bargaining). (That is, with power and consitution potions.) BTW, I'm quite new in this (since 92.4) - and I don't understand why the stats are rised by potions. What is gained by that feature? It has, IMHO, some drawbacks: 1) It's quite impossible to raise stats before you reach level 10. Well, that's probably ok, but: 2) The initial stats are very high (or the maximum stats are too low). There are not many stat gains and they take place around level 15 (depends on equipment and class) once a character is strong enough for certain quests, where he gets money quickly. I very much enjoy making my character better and better; but it takes place in a very short time in the middle of the game. 3) At the moment, raising stats only depends on how much money you have. 4) Potions have a certrain price. Indeed, they become cheaper, when a character improves his charisma. IMO, a 20->21 improvement should be MUCH more difficult than a 15->16 improvement. Why isn't stat gaining handled by the experience catagories? Each category is associated with one (or two) stats. Why not rise the associated stat when the character gains one level of the experience category? (with chance==10%) It's MUCH more plausibe that potions raise stats only temporarily. Permanently raising potions still could be (VERY rare) quest items. -- Florian ------------------------------------------------ | h729ihqu@sun1.cip.fak14.uni-muenchen.de | | http://www.fak14.uni-muenchen.de/~h729ihqu/ | ------------------------------------------------ From owner-crossfire Thu Aug 15 02:34:25 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 15 Aug 1996 02:34:25 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 15 Aug 1996 02:34:21 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA05008; Wed, 14 Aug 96 17:33:49 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id RAA23895; Wed, 14 Aug 1996 17:33:47 -0700 From: "Mark Wedel" Message-Id: <9608141733.ZM23893@stealth.eng.pyramid.com> Date: Wed, 14 Aug 1996 17:33:46 -0700 In-Reply-To: Raphael.Quinet@eed.ericsson.se "Re: CF: stat raising potions" (Aug 15, 1:00am) References: <199608142300.BAA11057@chapelle.eed.ericsson.se> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: Raphael.Quinet@eed.ericsson.se, crossfire@ifi.uio.no Subject: Re: CF: stat raising potions Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO On Aug 15, 1:00am, Raphael.Quinet@eed.ericsson.se wrote: > Subject: Re: CF: stat raising potions > On Wed, 14 Aug 1996, Florian Beck wrote: > > Brian Thomas wrote: > > > Hmm. Did the value of these change in 0.92.5? I find > > > that my 18 cha wizard can now buy them for around 200-300 > > > platinum! THis is a HUGE change in playbalance. I would > > > vote for changing this back to the old levels. > > > > My monk (10 cha) needs 1700-1800 platinum (1400-1500 with bargaining). > > My mage (18 cha) needs 1300-1400 platinum (700-800 with bargaining). > > (That is, with power and consitution potions.) > > Well, it looks like there is a bug in the game, because I also get > cheap items (I tried that with several character classes, the cha 26 > stats are obtained by wearing items that increase the charisma): This is a bit curious. I am wondering if there are any patches that maybe both of you (Biran and Raphael) might have applied that are messing with this? Updated archetypes, or some other change that could affect this? > By the way, I made a funny discovery: the weapon class is coded on a > signed char (one byte). I managed to have it wrap around. ;-) I > have a level 110 mage (level 96 in physique skills) which has a wc of > -111. If I get a blessing from God, my abilities are increased, with > the unexpected side effect of having the wc changed to +127 (which > should be -129). Needless to say, it becomes a bit hard to hit > monsters... (although I can still kill some of them, thanks to dam > 150). > It could easily be increased to a larger value (or during the assignment, which is probably calculated in an int, check its value.) It sounds like you might also be using the old weapon improvement code? Or did you just maximize a weapon's damage, without much else. -- --Mark From owner-crossfire Thu Aug 15 01:25:52 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 15 Aug 1996 01:25:52 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 15 Aug 1996 01:25:46 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id BAA10194; Thu, 15 Aug 1996 01:25:36 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id BAA11431; Thu, 15 Aug 1996 01:25:34 +0200 (MET DST) Date: Thu, 15 Aug 1996 01:25:34 +0200 (MET DST) Message-Id: <199608142325.BAA11431@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: murray@indigo2.scri.fsu.edu Subject: Re: CF: Bug on my compilation of the thing Cc: crossfire@ifi.uio.no From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO On Tue, 13 Aug 1996, murray@indigo2.scri.fsu.edu (John R. Murray) wrote: > What timing! It just happened again. Here's the stack dump out of dbx: [...] > 5 _sigtramp(0x3145, 0x6, 0x7fffab10, 0x0) ["sigtramp.s":59, 0xfad5958] > 6 change_abil(0xfabf1e4, 0x7fffaa60, 0x2, 0x1019fb8c) ["living.c":421, 0x48b328] > 7 remove_force(0x7fffaa60, 0x7fffaa60, 0x2, 0x1019fb8c) ["time.c":127, 0x474bd8] > 8 process_object(0x7fffaa60, 0x7fffaa60, 0x2, 0x1019fb8c) ["time.c":668, 0x477188] [...] > Comments: at the moment this happened, my char wasn't doing a darned thing, > just avoiding monsters while running through a new map. Sometimes it seems > like my char definitely causes the crash, but not this time. This crash seems to be caused by a temporary improvement which expires (i.e. you drank a potion of immunity to fire, or you cast a spell of protection from poison, then the effect expires after some time). The source of the bug can come from what you did when you drank the potion or read the scroll, instead of what you are doing when the game crashes. > Hmm.. but in the stack trace.. The first parameter of change_abil looks fishy; > it's out of range. (compare with other pointers).. (I gather from looking > at the typedef of object in struct.h that op->env (line 127 in server/time.c) > is supposed to point to another object (or NULL), unless there's some > deliberate funny business going on somewhere). Could this be a pointer to an area located on the program's stack? Could you compare with other pointers and see if that apparently incorrect pointer is pointing to the stack or if it is just invalid? Also, if this bug is caused by a spell, could you say which spell was used and how (from a scroll, rod, wand, potion, or is it a "known" spell?) -Raphael From owner-crossfire Thu Aug 15 01:00:38 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 15 Aug 1996 01:00:38 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 15 Aug 1996 01:00:35 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id BAA08880 for ; Thu, 15 Aug 1996 01:00:33 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id BAA11057 for crossfire@ifi.uio.no; Thu, 15 Aug 1996 01:00:31 +0200 (MET DST) Date: Thu, 15 Aug 1996 01:00:31 +0200 (MET DST) Message-Id: <199608142300.BAA11057@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: stat raising potions From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO On Wed, 14 Aug 1996, Florian Beck wrote: > Brian Thomas wrote: > > Hmm. Did the value of these change in 0.92.5? I find > > that my 18 cha wizard can now buy them for around 200-300 > > platinum! THis is a HUGE change in playbalance. I would > > vote for changing this back to the old levels. > > My monk (10 cha) needs 1700-1800 platinum (1400-1500 with bargaining). > My mage (18 cha) needs 1300-1400 platinum (700-800 with bargaining). > (That is, with power and consitution potions.) Well, it looks like there is a bug in the game, because I also get cheap items (I tried that with several character classes, the cha 26 stats are obtained by wearing items that increase the charisma): * for a potion of power: - 13 cha, no bargaining: 311 platinium - 26 cha, no bargaining: 184 platinium - 13 cha, with bargaining: 145 platinium - 26 cha, with bargaining: 145 platinium * for a potion of dexterity: - 13 cha, no bargaining: 322 platinium - 26 cha, no bargaining: 191 platinium - 13 cha, with bargaining: 151 platinium - 26 cha, with bargaining: 151 platinium By the way, I made a funny discovery: the weapon class is coded on a signed char (one byte). I managed to have it wrap around. ;-) I have a level 110 mage (level 96 in physique skills) which has a wc of -111. If I get a blessing from God, my abilities are increased, with the unexpected side effect of having the wc changed to +127 (which should be -129). Needless to say, it becomes a bit hard to hit monsters... (although I can still kill some of them, thanks to dam 150). I don't think this is a serious problem, because most people are well below level 110 and you don't get God's blessing very often. But this is funny anyway. -Raphael From owner-crossfire Wed Aug 14 23:16:01 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 14 Aug 1996 23:16:01 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Wed, 14 Aug 1996 23:15:56 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA02820; Wed, 14 Aug 96 14:15:18 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id OAA03325; Wed, 14 Aug 1996 14:15:16 -0700 From: "Mark Wedel" Message-Id: <9608141415.ZM3323@stealth.eng.pyramid.com> Date: Wed, 14 Aug 1996 14:15:15 -0700 In-Reply-To: Florian Beck "Re: CF: stat raising potions" (Aug 14, 10:09pm) References: <199608150509.WAA03429@ue801di.lrz-muenchen.de> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no (crossfire) Subject: Re: CF: stat raising potions Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO On Aug 14, 10:09pm, Florian Beck wrote: > Subject: Re: CF: stat raising potions > Brian Thomas wrote: > > > > > > Hmm. Did the value of these change in 0.92.5? I find > > that my 18 cha wizard can now buy them for around 200-300 > > platinum! THis is a HUGE change in playbalance. I would > > vote for changing this back to the old levels. > > > > -b.t. > > My monk (10 cha) needs 1700-1800 platinum (1400-1500 with bargaining). > My mage (18 cha) needs 1300-1400 platinum (700-800 with bargaining). > (That is, with power and consitution potions.) > > BTW, I'm quite new in this (since 92.4) - and I don't understand > why the stats are rised by potions. What is gained by that feature? It allows some form of stat recovery if you lose stats. Typical way you can lose stats if you play with NOT_PERMADEATH, and die a few times > > It has, IMHO, some drawbacks: > > 1) It's quite impossible to raise stats before you reach level 10. > Well, that's probably ok, but: This is true, but is a cost issue. If you can spend 1000 pp, do you want to spend it on a potion, or better spells, rods, etc. > 2) The initial stats are very high (or the maximum stats are too > low). There are not many stat gains and they take place around level > 15 (depends on equipment and class) once a character is strong enough > for certain quests, where he gets money quickly. I very much enjoy > making my character better and better; but it takes place in a very > short time in the middle of the game. I don't think the problem is as much max stats aren't high enough (General speaking, max stats for any class average 20, max average stats for a starting character is 15. This is 35 stats potions that are needed (7 differents stats to raise.) Arguable, the problem is more being able to get a lot of money easily. Once you can take on some monsters relatively safely, you instantly get a lot of money. > 3) At the moment, raising stats only depends on how much money you have. So do lots of other things. Unless potions are made exceedling rare, this will probably always be the case. > 4) Potions have a certrain price. Indeed, they become cheaper, when > a character improves his charisma. IMO, a 20->21 improvement > should be MUCH more difficult than a 15->16 improvement. This could make some sense, but at the same point, most classes max out at around 20. If you make it more difficult (chance of it working is based on stat), all it really does is increase the money needed. (so it now might take 10 potions to get it to work instead of 1). That just stretches thigns out some. The other problem with such a system is that it makes average characters more likely (ie, it would then be easier to get all stats to 15 than it might be to get your primary stat to 22). I don't know if this is a good thing. > > Why isn't stat gaining handled by the experience catagories? > Each category is associated with one (or two) stats. Why not rise > the associated stat when the character gains one level of the > experience category? (with chance==10%) Some of this is historical. Experience categories didn't show up until around 0.92.0 or (potions have been around long before that.) The disadvantage of raising stats in experience categories is that the stats are used to determine how much exp you gain in that category. So raising a stat sort of makes a situation where the rich get richer, but the poor can' do much. So some outside mechanism is needed to gain stats. > > It's MUCH more plausibe that potions raise stats only temporarily. > Permanently raising potions still could be (VERY rare) quest items. > I should point out that it is fairly easy for a site administrator to change this behavior - he could remove most of the potions from the potion treasurelist and instead put them in one of the artifact treasure lists (or change the cost in the archetypes, or whatever else.) There are already spells that temporarily raise stats. -- --Mark From owner-crossfire Tue Aug 13 23:47:04 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 13 Aug 1996 23:47:04 +0200 Received: from mailer.scri.fsu.edu (mailer.scri.fsu.edu [144.174.128.110]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 13 Aug 1996 23:47:00 +0200 Received: from indigo2.scri.fsu.edu (indigo2.scri.fsu.edu [144.174.128.47]) by mailer.scri.fsu.edu (8.6.12/8.6.12) with ESMTP id RAA24407 for <@mailer.scri.fsu.edu:crossfire@ifi.uio.no>; Tue, 13 Aug 1996 17:49:11 -0400 Received: by indigo2.scri.fsu.edu (940816.SGI.8.6.9/931108.SGI.AUTO.ANONFTP) id RAA14735; Tue, 13 Aug 1996 17:46:49 -0400 Date: Tue, 13 Aug 1996 17:46:49 -0400 From: murray@indigo2.scri.fsu.edu (John R. Murray) Message-Id: <199608132146.RAA14735@indigo2.scri.fsu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Bug on my compilation of the thing Cc: murray@indigo2.scri.fsu.edu Sender: owner-crossfire Precedence: bulk Status: RO I wrote earlier today: >experiencing occasional crashes (on SGI IRIX 5.3) under 0.92.5 nowadays. >Haven't had the time to track them down yet, but I thought I'd mention it, >just as an FYI. When(If) I do get time I'll do a proper report. What timing! It just happened again. Here's the stack dump out of dbx: (dbx) where > 0 _kill(0x3145, 0x6, 0x7fffaa50, 0x0) ["kill.s":15, 0xfae25d4] 1 raise(0x6, 0x6, 0x7fffaa50, 0x0) ["raise.c":22, 0xfae3928] 2 abort(0x3145, 0x6, 0x7fffaa50, 0x0) ["abort.c":37, 0xfb17354] 3 fatal_signal(0x1, 0x1, 0x7fffaa50, 0x0) ["init.c":516, 0x4329fc] 4 rec_sigsegv(0xb, 0x6, 0x7fffaa50, 0x0) ["init.c":460, 0x432740] 5 _sigtramp(0x3145, 0x6, 0x7fffab10, 0x0) ["sigtramp.s":59, 0xfad5958] 6 change_abil(0xfabf1e4, 0x7fffaa60, 0x2, 0x1019fb8c) ["living.c":421, 0x48b328] 7 remove_force(0x7fffaa60, 0x7fffaa60, 0x2, 0x1019fb8c) ["time.c":127, 0x474bd8] 8 process_object(0x7fffaa60, 0x7fffaa60, 0x2, 0x1019fb8c) ["time.c":668, 0x477188] 9 process_events(0x0, 0x7fffaa60, 0x2, 0x1019fb8c) ["main.c":683, 0x43f8c0] 10 main(0x2, 0x7fffaf4c, 0x7fffaf58, 0x1019fb8c) ["main.c":866, 0x4402cc] 11 __start() ["crt1text.s":133, 0x4114ac] (dbx) Comments: at the moment this happened, my char wasn't doing a darned thing, just avoiding monsters while running through a new map. Sometimes it seems like my char definitely causes the crash, but not this time. I can't see any obvious goofs around the offending source lines, but then I don't know much about the way the program is structured.. Hmm.. but in the stack trace.. The first parameter of change_abil looks fishy; it's out of range. (compare with other pointers).. (I gather from looking at the typedef of object in struct.h that op->env (line 127 in server/time.c) is supposed to point to another object (or NULL), unless there's some deliberate funny business going on somewhere). -- John R. Murray murray@indigo2.scri.fsu.edu http://www.scri.fsu.edu/~murray/ FSU Aikido Club/North Florida Aikikai home of Miko's Aikido MPEGs and the Tallahassee, FL WWW Aikido online calendar of events Politics, n: from "poly ticks", short for "many small bloodsucking insects" -- Henry Spencer From owner-crossfire Tue Aug 13 23:24:13 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 13 Aug 1996 23:24:13 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 13 Aug 1996 23:24:09 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA21407; Tue, 13 Aug 96 14:23:37 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id OAA19894; Tue, 13 Aug 1996 14:23:35 -0700 From: "Mark Wedel" Message-Id: <9608131423.ZM19892@stealth.eng.pyramid.com> Date: Tue, 13 Aug 1996 14:23:34 -0700 In-Reply-To: Brian Thomas "CF: stat raising potions" (Aug 13, 12:07pm) References: <199608131607.MAA00677@xplorer.gsfc.nasa.gov> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: Brian Thomas , mwedel@pyramid.com Subject: Re: CF: stat raising potions Cc: crossfire@ifi.uio.no Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO On Aug 13, 12:07pm, Brian Thomas wrote: > Subject: CF: stat raising potions > > Hmm. Did the value of these change in 0.92.5? I find > that my 18 cha wizard can now buy them for around 200-300 > platinum! THis is a HUGE change in playbalance. I would > vote for changing this back to the old levels. > > -b.t. >-- End of excerpt from Brian Thomas I don't recall making any change. At least during my play, I haven't seen them for that cheap (they still seem to be about normal price.) Could alchemy and/or some skill code (bargaining, maybe) be changing these values? 200-300 pp sounds low no matter what. -- --Mark From owner-crossfire Tue Aug 13 18:09:57 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 13 Aug 1996 18:09:57 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 13 Aug 1996 18:08:20 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id MAA00677; Tue, 13 Aug 1996 12:07:25 -0400 Date: Tue, 13 Aug 1996 12:07:25 -0400 From: Brian Thomas Message-Id: <199608131607.MAA00677@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: mwedel@pyramid.com Subject: CF: stat raising potions Cc: crossfire@ifi.uio.no Sender: owner-crossfire Precedence: bulk Status: RO Hmm. Did the value of these change in 0.92.5? I find that my 18 cha wizard can now buy them for around 200-300 platinum! THis is a HUGE change in playbalance. I would vote for changing this back to the old levels. -b.t. From owner-crossfire Mon Aug 12 03:26:33 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 12 Aug 1996 03:26:33 +0200 Received: from doomsday.iam.uni-bonn.de (root@rhrz-ts2-p11.rhrz.uni-bonn.de [131.220.224.121]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 12 Aug 1996 03:26:28 +0200 Received: (from tgm@localhost) by doomsday.iam.uni-bonn.de (8.7.5/8.7.3) id DAA03336 for crossfire@ifi.uio.no; Mon, 12 Aug 1996 03:25:46 +0200 From: Thomas Ackermann Message-Id: <199608120125.DAA03336@doomsday.iam.uni-bonn.de> Subject: CF: Re: Crossfire 0.92.5 Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Mon, 12 Aug 1996 03:25:46 +0200 (MET DST) In-Reply-To: <199607251432.7383.surt.ifi.uio.no@ifi.uio.no> from "Mark Wedel" at Jul 25, 96 04:32:15 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-crossfire Precedence: bulk Status: RO Mark Wedel wrote: > You can now also find Crossfire 0.92.5 on ra.pyramid.com, /pub/crossfire. This > should be a good site if you are in the U.S. I can't promise that I will keep > putting future releases on this site, but there is a decent chance. Maybe a silly question: I've got crossfire-0.91.8 on LINUX 2.0.0, and i am not sure, what exactly are the differences to 0.92.5 and if it is *realy* usefull, needed or somehow helpfull to get this version ... I mean, i have crossfire-0.91.8 on CD - and getting all this MB for 0.92.5 is a lot of work ... what has the newer version *i* could realy want? ;-) Any help? ;-) Btw. i would like to be able to use my *Cursor* keys for the game, and i would liek to use Ultima-like key-bindings ... I mean, typing "g" for "get" and "e" for "enter", and so on ... i cannot remember those cryptic usage i have to use now - does aynbody have a better keybinding? Someone on the list who could send me either his modified code or his modified keybindings? ;-) Thanx alot in advance! Byebye, -- Thomas (tgm) Ackermann | G i b GATES | DOS* |Great minds tja ;-) Tel. 0228/73-7773 | 631369 | k e i n e | WIN* |discuss ideas (e-mail: tgm@rhein.iam.uni-bonn.de) | C h a n c e ! | WIN95|-------------- -----------------------------------------------------------------|Average minds mail a sole "help" and/or "add discuss-l" line (in mail-body) to |discuss events listserv@math.uni-bonn.de to be added to a list were you can |-------------- talk about non-GURPS related things with people from GURPSnet-L |Small minds -----------------------------------------------------------------|discuss people From owner-crossfire Sun Aug 11 08:42:48 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 11 Aug 1996 08:42:48 +0200 Received: from uni-kl.de (mmdf@stepsun.uni-kl.de [131.246.136.50]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Sun, 11 Aug 1996 08:42:45 +0200 Received: from corp-200.dfki.uni-kl.de by stepsun.uni-kl.de id aa11575; 11 Aug 96 8:42 MET DST Received: from corp-201.dfki.uni-kl.de (root@corp-201 [131.246.241.106]) by corp-200.dfki.uni-kl.de (8.7.5/8.7.3) with ESMTP id IAA24520 for ; Sun, 11 Aug 1996 08:42:40 +0200 (MET DST) Organization: DFKI Kaiserslautern GmbH, D 67663 Kaiserslautern Received: from localhost (elsbernd@isg-201 [131.246.241.71]) by corp-201.dfki.uni-kl.de (8.7.5/8.7.3) with ESMTP id IAA25607 for ; Sun, 11 Aug 1996 08:42:38 +0200 (MET DST) Message-Id: <199608110642.IAA25607@corp-201.dfki.uni-kl.de> X-Mailer: exmh version 1.6.7 5/3/96 Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Oratory skill and NPCs 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 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 11 Aug 1996 08:42:37 +0200 From: Klaus Elsbernd Sender: owner-crossfire Precedence: bulk Status: RO > > IF you are going to do this, I really think the NPC code should be revamped > > at the same time, since really, charmed monsters would seem to be NPC's. It > > would be nice for most things in the oratory code to be handled by NPC code. > > Having NPC's drop and use items based on conversations with others would be > > a really nice feature. message code like: > > > > @match * > > "I can only give the rod to people that know the secret codeword" > > @match sorenson > > @drop rod_fireball > > > > Would make things much nicer. Likewise, having npc's use items, and so > > on. What about commands like @move north .... To indicate, that the Monster should move to the north... That should activate possible buttons... Or you could handel some levers, without killing the Monster. (Perhaps you need it onc more) MfG Klaus From owner-crossfire Fri Aug 9 21:13:29 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 9 Aug 1996 21:13:29 +0200 Received: from uni-kl.de (mmdf@stepsun.uni-kl.de [131.246.136.50]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Fri, 9 Aug 1996 21:13:25 +0200 Received: from corp-200.dfki.uni-kl.de by stepsun.uni-kl.de id ab16525; 9 Aug 96 21:13 MET DST Received: from corp-201.dfki.uni-kl.de (root@corp-201 [131.246.241.106]) by corp-200.dfki.uni-kl.de (8.7.5/8.7.3) with ESMTP id VAA14734 for ; Fri, 9 Aug 1996 21:13:20 +0200 (MET DST) Organization: DFKI Kaiserslautern GmbH, D 67663 Kaiserslautern Received: from localhost (elsbernd@isg-201 [131.246.241.71]) by corp-201.dfki.uni-kl.de (8.7.5/8.7.3) with ESMTP id VAA29940 for ; Fri, 9 Aug 1996 21:13:18 +0200 (MET DST) Message-Id: <199608091913.VAA29940@corp-201.dfki.uni-kl.de> X-Mailer: exmh version 1.6.7 5/3/96 Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Oratory skill and NPCs 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 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 09 Aug 1996 21:13:17 +0200 From: Klaus Elsbernd Sender: owner-crossfire Precedence: bulk Status: RO > > IF you are going to do this, I really think the NPC code should be revamped > > at the same time, since really, charmed monsters would seem to be NPC's. It > > would be nice for most things in the oratory code to be handled by NPC code. > > Having NPC's drop and use items based on conversations with others would be > > a really nice feature. message code like: > > > > @match * > > "I can only give the rod to people that know the secret codeword" > > @match sorenson > > @drop rod_fireball > > > > Would make things much nicer. Likewise, having npc's use items, and so > > on. What about commands like @move north .... To indicate, that the Monster should move to the north... That should activate possible buttons... Or you could handel some levers, without killing the Monster. (Perhaps you need it onc more) MfG Klaus From owner-crossfire Fri Aug 9 19:06:29 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 9 Aug 1996 19:06: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 ; Fri, 9 Aug 1996 19:06:24 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id NAA21865 for crossfire@ifi.uio.no; Fri, 9 Aug 1996 13:04:17 -0400 Date: Fri, 9 Aug 1996 13:04:17 -0400 From: Brian Thomas Message-Id: <199608091704.NAA21865@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Oratory skill and NPCs Sender: owner-crossfire Precedence: bulk Status: RO Heres some mail between me and Mark on changing the oratory skill. Its a strong gameplay issue so I thought Id share it with the CF populace :) > From: "Mark Wedel" writes: > > > Brian writes: > > > > ORATORY skill --- > > > > I would like to 'fix' this skill by making it more > > likely to success (esp. at lower levels) and by allowing > > it to have 'options'. In effect, the 'default' skill > > remains the same -- you can recruit monsters w/ it, but > > we add on some nice options: [snip] > > IF you are going to do this, I really think the NPC code should be revamped > at the same time, since really, charmed monsters would seem to be NPC's. It > would be nice for most things in the oratory code to be handled by NPC code. > Having NPC's drop and use items based on conversations with others would be > a really nice feature. message code like: > > @match * > "I can only give the rod to people that know the secret codeword" > @match sorenson > @drop rod_fireball > > Would make things much nicer. Likewise, having npc's use items, and so > on. > > But then as a I think about this, I am not sure how common this code would be. > > I would say that if this is extended, certain things should happen. Monsters > should hardly always follow directions. If you tell an ogre to attack that > dragon, I think there should be a good chance that the ogre thinks you are > an idiot, and just leaves your service on his own. > Ok, I've been thinking about this, and agree with most of what you say. Let me summarize to get everything 'strait': 1) we will expand the interaction between NPC's and players. Now, it will be possible to have NPC's 'react' to player speech with specific actions. Allowable NPC actions will be recorded in an array (to be determined). Current ideas for NPC actions are: attack , drop , pickup , use , stay, follow , and goodbye (No explanation of these here--see my earlier mail). We will make the code flexible enough so that we need only add another command to the one array to expand the roster of allowable NPC commands. 2) Oratory skill use. Not all of the oratory commands would be available to use on followers. Basically, this will be determined on a case-by-case basis of the follower 'type'. I see 3 cases: a. Non-magical followers. These are recruited via the 'oratory' skill. All commands are available. You can loose followers by asking 'outrageous' things like "attack dragon" when you are at a very low oratory skill level. All followers gain xp to the player oratory skill. b. Magical slaves. These are pets summoned by the incantation 'summon pet monsters' and the monsters charmed via the incantation 'charm monster'. We will restrict the commandablity of these creatures, basically the spell on their minds prevents them from being fully aware/functional. All commands but attack, follow, and goodbye are allowed, however, you can't lose these monsters by asking ridiculous stuff of them. Followers gain xp to the 'spellcasting' skill. c. 'Holy servants' - these are creatures summoned via the the 'summon cult monsters' or charmed by the 'charm undead' prayers. These creatures are more 'pliable' than the wizards creatures. Therefore, we allow all commands but with 2 modifications: 1) these creatures will only attack enemies of their god (although you can still get them to attack anything hostile if you stand close enought to it--I guess the follower are 'protecting' you in this case) and 2) when you say 'goodbye' to the creature, instead of wandering around freely, it vanishes! These followers will gain xp to the clerical 'wisdom' exp category. As you can see, the oratory skill will become usefull in an expanded sense. Now, not only 'normal' followers, but 'magical' ones will be commandable. Also, the map maker can 'hardwire' specific actions into NPCs. Comments? -b.t. From owner-crossfire Fri Aug 9 17:51:37 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 9 Aug 1996 17:51:37 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 9 Aug 1996 17:50:57 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id LAA21805; Fri, 9 Aug 1996 11:46:59 -0400 Date: Fri, 9 Aug 1996 11:46:59 -0400 From: Brian Thomas Message-Id: <199608091546.LAA21805@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: mwedel@pyramid.com Subject: CF: Re: treasure.c fix. Cc: crossfire@ifi.uio.no Sender: owner-crossfire Precedence: bulk Status: RO Yeep. I think I answered most of this already. But to just be complete, here goes: > From: "Mark Wedel" writes: > > One thing I was going to say is that readable titles should better match > what is in it, but you already said you were going to fix it. I wonder if > the chance for such gems of knowledge might be a bit low? I have yet to find > one out in my adventurs, and even in shops, they are fairly uncommon. > Yeah, one problem is how to make the match between authours, content and title consistent from game to game? I expect that the only way to do this is to deposit a reference file in the lib directory. If, during the play of the game, a book is generated *and* has no reference in the book reference file, then we create a new book (with unique title, authour, and contents). But this seems kind of messy to me. Still contemplating other possiblities and if anyone has some ideas on how to do this better, Id love to hear it! As for the frequency of books, that is adjusted in the treasures file. Currently, the only way to find books on adventure is by killing a monster that has books, or by entering a treasure map that has the 'random_books' archetype on it (there are few of these!). One solution would be to enter 'readable' books on other treasure arrays. If you want, I can provide a patch for the treasures file to do this. > As for alchemy skill: I wonder if it is really necessary for the reading > of the alchemy spell to activate it? I think some of my problem is that Oh, possistion of the alchemy skill is *not* nescessary at all for creating aritfacts. BUT, if a player wants to EARN experience (mental) from *successfully* creating artifacts, they will need to have an alchemy skill. Also, your alchemy skill level is used to determine your failure rate for making stuff. Therefore, you dont need the alchemy skill to make anything, BUT, the really difficult recipies will probably be beyond the elementary alchemist. > it creates a double meaning for a spell, which aren't totally similar (not > totally dissimilar either.) The other would be that it would seem to make I admit that the alchemy spell and skill names are a bit 'degenerate'. Perhaps one or the other could be renamed. Ideas? > it just a formality (hard part finding the recipes and the body parts > necessary) - this was sort of my argument on removing the food/drink > requirements for weapon improvement - by the time you are doing that, > 10 food/drink isn't a big deal. > Hmm. But finding flesh parts isnt just a walk down to the shop! AND, we need to have the ingredients in order to figure out what to make!! Also, if I implement Raphael's suggestion that created items can't have values much much greater than the ingredients, we have another need for them. tanned, rested and ready, -brian From owner-crossfire Thu Aug 8 23:01:21 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 23:01:21 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 23:01:15 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA13829; Thu, 8 Aug 96 14:00:42 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id OAA02074; Thu, 8 Aug 1996 14:00:39 -0700 From: "Mark Wedel" Message-Id: <9608081400.ZM2072@stealth.eng.pyramid.com> Date: Thu, 8 Aug 1996 14:00:38 -0700 In-Reply-To: Raphael.Quinet@eed.ericsson.se "CF: Gameplay issues and misc stuff" (Aug 8, 12:06pm) References: <199608081006.MAA16868@chapelle.eed.ericsson.se> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: Raphael.Quinet@eed.ericsson.se, crossfire@ifi.uio.no Subject: Re: CF: Gameplay issues and misc stuff Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO On Aug 8, 12:06pm, Raphael.Quinet@eed.ericsson.se wrote: > Subject: CF: Gameplay issues and misc stuff > > Here are a few random comments related to 0.92.5: > > - The new attack code will sometimes produce the same kind of > unfortunate side effects as the ones I tried to fix in my patch to > 0.92.4: if your weapon is "improved" by getting some god's attack > type (e.g. weaponmagic and fear for God), it can become useless > against some monsters. > > Example: I got Mopoon's Dragonbane (very powerful weapon, with dam > +81). After having prayed over an altar of God, it received the > attacks weapon magic and fear. After that, it always missed the > acid spheres and some other monsters. That happens less often than > with the bug that I fixed in the previous version of the code, but > sometimes the "best attack type" that is chosen by the new code is > one to which the monster is immune. If so, that is a bug - the best type taken should be the one that would do the most damage. I'll look over that and see if I can find the bug. > > This also happens if you get the "Essence of Flame" that gives you > the attack type "fire". If you wear it, you are unable to hit some > monsters. Isn't there a way to fix that? If a creature is immune to fire, and the weapon's only attack type is fire, the result above is what should happen. The fix would be to make sure the weapon has multiple attacktypes (also physical or weaponmagic.) > - The dragon steaks are not counted as food anymore. They are much > lighter than before and have the same "food value", even if they > taste terrible. Thus they become more interesting than > waybreads... except that your character will not eat them > automatically when the food drops below zero. Consequence: I was in > a battle, using a lot of mana (and food for regeneration), and > suddenly my character died although I was carrying several dragon > steaks. I already sent mail to brian about the weight of objects - they seem way too light to me (things like corpses and heads and other objects also.) As a question to brian, however - is there any reason that these objects need to be considered type flesh (or maybe food should be moved to the same category). > > - I'm thinking about creating a new skill for smithery (alas, there is > already a skill with that name and it is powerful enough, so I have > to find a new name). It would do the same kind of things as the > alchemy spell: you drop some weapons and raw materials on an anvil, > and you use the skill to create a new weapon. For example, a sword > combined with ten "potions of cold resistance" would create a sword > protected from cold. But this could also affect play balance a lot, > so I will first wait and see what happens with the alchemy code. That by itself doesn't seem taht bad, as long as you then can't drop the sword of cold and 10 potions of fire and get sword of cold & fire resistances (and more and more). -- --Mark From owner-crossfire Thu Aug 8 18:10:19 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 18:10:19 +0200 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 ; Thu, 8 Aug 1996 18:10:15 +0200 Received: from soda.CSUA.Berkeley.EDU (peterm@localhost) by soda.CSUA.Berkeley.EDU (8.6.12/8.6.12) with ESMTP id JAA29735; Thu, 8 Aug 1996 09:10:51 -0700 Message-Id: <199608081610.JAA29735@soda.CSUA.Berkeley.EDU> Mime-Version: 1.0 To: Brian Thomas Subject: Re: CF: Question about cast_spell() Cc: crossfire@ifi.uio.no In-reply-to: Your message of "Thu, 08 Aug 1996 05:02:50 EDT." <199608080902.FAA20866@xplorer.gsfc.nasa.gov> Date: Thu, 08 Aug 1996 09:10:34 -0700 From: Peter Mardahl Sender: owner-crossfire Precedence: bulk Status: RO > > From: Raphael writes: > > > > So I would like to know when the "temporary object" stuff was added in > > cast_spell() and if its only purpose is to adjust the caster's level > > to that of the scroll, rod or wand. Is the author of that code > > reading this? > > I would love to hear from the authour also about how the > spellcasting object is supposed to work. Humm, I had done that. I remember having good reasons for needing to do a spellcasting object. It worked pretty well at the time but I think coding changes since then have made it precarious. The spellcasting object was done long before Brian started hacking in the skill stuff. I can't remember all of the reasons but some were: a) changing the casting level when a wand was being used. This allowed the finding of wands of various powers as well as of various amounts of charges. b) making it possible to NOT award exp to the user of a wand. It didn't seem quite right for a fighter to get all sorts of mage experience for shooting off a wand, or for a wizard to go up 10 levels simply because he found a wand of large fireball with lots of charges. c) keeping the results of wand creation OWNED by the wand user, so funky things didn't happen, while still allowing a) and b). This last was very important for controlling golems, etc. Rather than write special purpose code in each spell to detect for a wand being used, and doing the right thing, I invented the casting object, so that all these things could be set up at ONE place in the code. It's possible that the skill system has made a more graceful implementation of these things possible. If so, I'd advise ripping the code out and putting new in. PeterM From owner-crossfire Thu Aug 8 15:21:14 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 15:21:14 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 15:21:10 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id JAA20979 for crossfire@ifi.uio.no; Thu, 8 Aug 1996 09:19:06 -0400 Date: Thu, 8 Aug 1996 09:19:06 -0400 From: Brian Thomas Message-Id: <199608081319.JAA20979@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Gameplay issues and misc stuff Sender: owner-crossfire Precedence: bulk Status: RO > From: Raphael.Quinet@eed.ericsson.se > > Here are a few random comments related to 0.92.5: > > - The new attack code will sometimes produce the same kind of > unfortunate side effects as the ones I tried to fix in my patch to > Perhaps your patch was one of the ones that Mark didnt have time to apply? I certainly agree that this is a problem! > - The alchemy code, when combined with god intervention, can affect > play balance (a lot). Here is how: put four or five cheap objects > [snip] A 3rd (easy to do) suggestion: Why not set the value of all cursed items to 0. Then when uncursed, these items would remain worthless. Not very sophisticated I admit, but it would perserve playbalance. > > - The dragon steaks are not counted as food anymore. They are much > [snip] ... Well, I (personally) don't see this as a problem. On the otherhand, Its very easy to change the code to allow it to let you eat items of type FLESH when you are starving. > - I'm thinking about creating a new skill for smithery (alas, there is > already a skill with that name and it is powerful enough, so I have > to find a new name). It would do the same kind of things as the > alchemy spell: you drop some weapons and raw materials on an anvil, > and you use the skill to create a new weapon. For example, a sword > combined with ten "potions of cold resistance" would create a sword > protected from cold. But this could also affect play balance a lot, > so I will first wait and see what happens with the alchemy code. > Basically, you can create *any* artifact that is either an archetype (e.g. Bonecrusher) or appears in the "artifacts" list in lib. This means you can make assasination arrows as well as potions, etc. The alchemy code has a great deal of flexibility. > Thanks to Brian Thomas for the patches. > Thanks to Raphael too! ;) -b.t. One last comment---I am planning to fix up the reading code so that generated book titles match the contents. Perhaps Ill get around to that this weekend. -b.t. From owner-crossfire Thu Aug 8 13:50:48 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 13:50:48 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 13:50:45 +0200 Received: from ebcs08.ebc.ericsson.se (ebcs08.ebc.ericsson.se [130.100.114.67]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id NAA22683 for ; Thu, 8 Aug 1996 13:50:43 +0200 (MET DST) Received: from ebcw405.ebc.ericsson.se (ebcw405.ebc.ericsson.se [130.100.167.197]) by ebcs08.ebc.ericsson.se (8.7.5/8.7.3) with SMTP id NAA09828 for ; Thu, 8 Aug 1996 13:49:33 +0200 (MET DST) Received: by ebcw405.ebc.ericsson.se (SMI-8.6/client-1.5) id NAA11149; Thu, 8 Aug 1996 13:50:30 +0200 Date: Thu, 8 Aug 1996 13:50:30 +0200 Message-Id: <199608081150.NAA11149@ebcw405.ebc.ericsson.se> From: Raphael.Quinet@eed.ericsson.se Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: bug fix for server/gods.c (mea culpa!) Sender: owner-crossfire Precedence: bulk Status: RO Last month, I sent a patch for server/gods.c in 0.92.4. Well, nobody's perfect... I introduced a new bug with this patch. So here is a new patch that fixes this bug. In addition, it makes the code more efficient by avoiding multiple calls to RANDOM(), so you have an additional reason to apply it. :-) If you want to know what was wrong, look at the condition of the "while" statement. The gods could be a bit too generous, giving away some spells such as "charging", "polymorph" or "hellfire"... Oops! I still have other patches in progress. One of them is related to the "wonder" spell. If you want to crash the game, set your pickup mode to "all items", then run into a room in which someone is casting that spell. Result: you will pick up some flowers as the spell propagates, and the game will crash because these flowers will be "out of the map" for the propagation of the cone spell. Fix: I am changing the archetype "flowers" so that it has "no_pick 1", but I also have to change the spell so that it clears this flag when the spell has finished propagating. If I remember correctly, I first saw this bug in Crossfire 0.88.x and it has been there since then. Patch coming soon... ---------- cut here ---------- cut here ---------- cut here ---------- *** server/gods.c~ Wed Jul 24 09:45:50 1996 --- server/gods.c Thu Aug 8 13:14:18 1996 *************** *** 272,286 **** /* If they qualify, grant the priest use of a special spell */ if(op->stats.Wis&&op->stats.Wis>25) { int spell=0; ! /*generate a random rare clerical spell*/ ! do { ! spell=RANDOM()%NROFREALSPELLS; ! } while(spells[spell].books && !spells[spell].cleric); ! /* The god will only teach the spell if its not against the nature * of the cult, the priest is high enough in level *and* the priest * doesnt already know it */ /* Also, there are some spells which can really disturb playbalance, --- 272,289 ---- /* If they qualify, grant the priest use of a special spell */ if(op->stats.Wis&&op->stats.Wis>25) { int spell=0; ! /*generate a random rare clerical spell*/ ! spell=RANDOM()%NROFREALSPELLS; ! while (spells[spell].books || !spells[spell].cleric) ! { ! spell++; ! if (spell >= NROFREALSPELLS) ! spell = 0; ! } /* The god will only teach the spell if its not against the nature * of the cult, the priest is high enough in level *and* the priest * doesnt already know it */ /* Also, there are some spells which can really disturb playbalance, From owner-crossfire Thu Aug 8 12:07:04 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 12:07:04 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 12:07:00 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id MAA11036 for ; Thu, 8 Aug 1996 12:06:59 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id MAA16868 for crossfire@ifi.uio.no; Thu, 8 Aug 1996 12:06:58 +0200 (MET DST) Date: Thu, 8 Aug 1996 12:06:58 +0200 (MET DST) Message-Id: <199608081006.MAA16868@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Gameplay issues and misc stuff From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO Here are a few random comments related to 0.92.5: - The new attack code will sometimes produce the same kind of unfortunate side effects as the ones I tried to fix in my patch to 0.92.4: if your weapon is "improved" by getting some god's attack type (e.g. weaponmagic and fear for God), it can become useless against some monsters. Example: I got Mopoon's Dragonbane (very powerful weapon, with dam +81). After having prayed over an altar of God, it received the attacks weapon magic and fear. After that, it always missed the acid spheres and some other monsters. That happens less often than with the bug that I fixed in the previous version of the code, but sometimes the "best attack type" that is chosen by the new code is one to which the monster is immune. This also happens if you get the "Essence of Flame" that gives you the attack type "fire". If you wear it, you are unable to hit some monsters. Isn't there a way to fix that? - The alchemy code, when combined with god intervention, can affect play balance (a lot). Here is how: put four or five cheap objects in a cauldron (e.g. one silver coin, one arrow, one food, one booze) and use the alchemy spell. Do that several times and collect the items every time. If you identify them, you will see that all of them are cursed. Now go and pray over an altar, and the curses will be removed. Result: with a few cheap objects, you get several very valuable items (you can sell them and get 100 times the value of what you originally put in the cauldron). Suggestion 1: when generating cursed items, only create items that have a lower value (when not cursed) than the total of what is in the cauldron. Suggestion 2: use the material types to put some limitations on what can be created by the cauldron (if we assume that alchemy doesn't always mean transmutation). The material types of the objects should be ORed together, then only create new items if all materials for the new item can be found in the cauldron. This would not prevent people from "cheating" (so it should be combined with the first suggestion), but it will put some limits on what can be done. Creating a (cursed) potion of invulnerability from a silver coin, a gold coin, a platinium coin and an arrow doesn't seem very realistic to me. - The dragon steaks are not counted as food anymore. They are much lighter than before and have the same "food value", even if they taste terrible. Thus they become more interesting than waybreads... except that your character will not eat them automatically when the food drops below zero. Consequence: I was in a battle, using a lot of mana (and food for regeneration), and suddenly my character died although I was carrying several dragon steaks. - I'm thinking about creating a new skill for smithery (alas, there is already a skill with that name and it is powerful enough, so I have to find a new name). It would do the same kind of things as the alchemy spell: you drop some weapons and raw materials on an anvil, and you use the skill to create a new weapon. For example, a sword combined with ten "potions of cold resistance" would create a sword protected from cold. But this could also affect play balance a lot, so I will first wait and see what happens with the alchemy code. Thanks to Brian Thomas for the patches. -Raphael From owner-crossfire Thu Aug 8 11:05:00 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 11:05:00 +0200 Received: from xplorer.gsfc.nasa.gov (xplorer.gsfc.nasa.gov [128.183.126.216]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 11:04:55 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id FAA20866 for crossfire@ifi.uio.no; Thu, 8 Aug 1996 05:02:50 -0400 Date: Thu, 8 Aug 1996 05:02:50 -0400 From: Brian Thomas Message-Id: <199608080902.FAA20866@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Question about cast_spell() Sender: owner-crossfire Precedence: bulk Status: RO > From: Raphael writes: > > So I would like to know when the "temporary object" stuff was added in > cast_spell() and if its only purpose is to adjust the caster's level > to that of the scroll, rod or wand. Is the author of that code > reading this? > Well, Im not the authour of this code. My impression from email with Mark a while back suggested that it is fairly old; ie predates 0.92.2. But perhaps this is wrong? I have traced the problems with the spell-experience problem to somewhere in the interaction of set_owner with the spellcasting object. Its pretty icky, and I am not 100% to finding a solution to this (hence my long delay in getting a patch for this bad bug). I would love to hear from the authour also about how the spellcasting object is supposed to work. -b.t. From owner-crossfire Thu Aug 8 10:12:17 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 10:12:17 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 10:12:14 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id KAA27207 for ; Thu, 8 Aug 1996 10:12:11 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id KAA15056 for crossfire@ifi.uio.no; Thu, 8 Aug 1996 10:12:08 +0200 (MET DST) Date: Thu, 8 Aug 1996 10:12:07 +0200 (MET DST) Message-Id: <199608080812.KAA15056@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Question about cast_spell() From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO When I posted the patch for create_missile() a few weeks ago, I described what was the source of the problem: in cast_spell(), a temporary copy of the object is created on the stack (only if the spell comes from a scroll, rod or wand) and freed when the function returns. The problem was that create_missile() was using a reference to that temporary object when picking up the arrows, with nasty consequences when that (invalid) pointer was used later in process_events(). Well, it looks like another spell is doing the same thing. :-( I got a server crash and the core dump showed me that one of the objects in the active list was a pointer to the stack. Alas, I haven't been able to reproduce it and I don't know which spell caused that (it happened while a big wizard was casting lots of spells). So I would like to know when the "temporary object" stuff was added in cast_spell() and if its only purpose is to adjust the caster's level to that of the scroll, rod or wand. Is the author of that code reading this? That bug is rather nasty, so I would like to change the code in cast_spell() so that it doesn't use a temporary copy of the object (instead, I could just modify the caster's level and restore it when exiting cast_spell()). But I want to be sure that I will not break anything else, that's why I am asking first. -Raphael From owner-crossfire Thu Aug 8 09:30:33 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 09:30:33 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 09:30:30 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA27539; Thu, 8 Aug 96 03:31:13 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA19609; Thu, 8 Aug 96 03:30:27 EDT Date: Thu, 8 Aug 96 03:30:27 EDT From: "Brian Thomas" Message-Id: <9608080730.AA19609@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Re: bug patch for treasures Sender: owner-crossfire Precedence: bulk Status: RO Oh, I almost forgot.. you will have to add in a reference to fix_flesh_item in libproto.h. I have prepared a small patch file. -b.t. *** libproto.h.orig Thu Aug 8 03:28:53 1996 --- libproto.h Thu Aug 8 03:28:27 1996 *************** *** 5,14 **** --- 5,15 ---- * Created: Sat Jul 20 23:04:11 1996 */ #ifndef __CEXTRACT__ #ifdef __STDC__ + extern void fix_flesh_item(object *item, object *donor); extern int absdir ( int d ); extern void add_abilities ( object *op, object *change ); extern void add_arch ( archetype *at ); extern void add_author ( object *op ); extern void add_button_link ( object *button, mapstruct *map, int connected ); From owner-crossfire Thu Aug 8 09:24:56 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Thu, 8 Aug 1996 09:24:56 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Thu, 8 Aug 1996 09:24:51 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA27526; Thu, 8 Aug 96 03:25:31 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA19541; Thu, 8 Aug 96 03:24:45 EDT Date: Thu, 8 Aug 96 03:24:45 EDT From: "Brian Thomas" Message-Id: <9608080724.AA19541@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: bug fix for treasures Sender: owner-crossfire Precedence: bulk Status: RO Hi all, Back again after a 2wk vacation.. I see that there are lots of bugs to fix still :<. Other than the two most pressing bugs (spell experience problem; multi-square mon crash on firewalls) I have discovered that not all of the alchemy code was passed to Mark. The file common/treasure.c needs to be patched so that 1) flesh items are properly named and inherit donor attributes 2) potions are created properly and 3) copious treasure output is trimmed back (optional). The patch file follows this message. Off to check out the SERVER connection to the spell-exp bug. Caio! -b.t. *** ../../crossfire/common/treasure.c Wed Jul 24 03:45:38 1996 --- ./treasure.c Thu May 2 08:51:27 1996 *************** *** 33,43 **** * slows the startup some (and not actual game play), it is by default * left on */ #define TREASURE_DEBUG ! #include #include #include #include --- 33,45 ---- * slows the startup some (and not actual game play), it is by default * left on */ #define TREASURE_DEBUG ! /* TREASURE_VERBOSE enables copious output concerning artifact generation */ ! /* #define TREASURE_VERBOSE */ ! #include #include #include #include *************** *** 271,280 **** --- 273,283 ---- tmp=arch_to_object(t->item); if(t->nrof&&tmp->nrof<=1) tmp->nrof = RANDOM()%((int) t->nrof) + 1; fix_generated_item(tmp,op,difficulty,t->magic); if(flag != GT_ENVIRONMENT) { + fix_flesh_item(tmp, op); tmp = insert_ob_in_ob(tmp,op); (void) (*monster_check_apply_func)(op,tmp); } else { tmp->x=op->x,tmp->y=op->y; insert_ob_in_map(tmp,op->map); *************** *** 319,328 **** --- 322,332 ---- object *tmp=arch_to_object(t->item); if(t->nrof&&tmp->nrof<=1) tmp->nrof = RANDOM()%((int) t->nrof) + 1; fix_generated_item(tmp,op,difficulty,t->magic); if(flag != GT_ENVIRONMENT) { + fix_flesh_item(tmp, op); tmp = insert_ob_in_ob(tmp,op); (void) (*monster_check_apply_func)(op,tmp); } else { tmp->x=op->x,tmp->y=op->y; insert_ob_in_map(tmp,op->map); *************** *** 685,694 **** --- 689,717 ---- set_ring_bonus(op,QUERY_FLAG(op, FLAG_CURSED)?-DICE2:DICE2); if (!QUERY_FLAG(op, FLAG_CURSED)) op->value*=3; } break; + case POTION: { + int too_many_tries=0,is_special=0; + while(!(is_special=special_potion(op))) { + generate_artifact(op,difficulty); + if(too_many_tries++ > 10) break; + } + if(is_special) { + int nrof_potion=spells[op->stats.sp].scrolls-RANDOM()%3; + /* these 'potions' have been generated as artifacts + * and therefore need a few adjustments + */ + /* give fewer potions than scrolls */ + if(nrof_potion>0) + op->nrof=RANDOM()%(nrof_potion)+1; + /* value multiplier is same as for scrolls */ + op->value=(op->value*spells[op->stats.sp].level)/ + (spells[op->stats.sp].level+4); + } + break; } case AMULET: if(op->arch==amulet_arch) op->value*=5; /* Since it's not just decoration */ case RING: if(op->arch==NULL) { *************** *** 819,829 **** break; case RUNE: (*trap_adjust_func)(op,difficulty); break; } ! if (op->type == POTION) { op->face = potion_face; free_string(op->name); op->name = add_string("potion"); op->level = spells[op->stats.sp].level/2+ RANDOM()%difficulty + RANDOM()%difficulty; if (RANDOM()%2) --- 842,852 ---- break; case RUNE: (*trap_adjust_func)(op,difficulty); break; } ! if (op->type == POTION && special_potion(op)) { op->face = potion_face; free_string(op->name); op->name = add_string("potion"); op->level = spells[op->stats.sp].level/2+ RANDOM()%difficulty + RANDOM()%difficulty; if (RANDOM()%2) *************** *** 1016,1026 **** --- 1039,1051 ---- */ void add_abilities(object *op, object *change) { int i, tmp; if (change->face != blank_face) { + #ifdef TREASURE_VERBOSE LOG(llevDebug, "FACE: %d\n", change->face->number); + #endif op->face = change->face; } for (i = 0; i < 7; i++) change_attr_value(&(op->stats), i, get_attr_value(&(change->stats), i)); if (QUERY_FLAG(change,FLAG_CURSED)) *************** *** 1152,1162 **** --- 1177,1189 ---- char *name; if (art->allowed == (linked_char *) NULL) return 1; /* Ie, "all" */ for (tmp = art->allowed; tmp; tmp = tmp->next) { + #ifdef TREASURE_VERBOSE LOG(llevDebug, "legal_art: %s\n", tmp->name); + #endif if (*tmp->name == '!') name = tmp->name + 1, neg = 1; else name = tmp->name, neg = 0; *************** *** 1246,1260 **** --- 1273,1328 ---- /* Map difficulty not high enough */ if (difficultydifficulty) continue; if (!legal_artifact_combination(op, art)) { + #ifdef TREASURE_VERBOSE LOG(llevDebug, "%s of %s was not a legal combination.\n", op->name, art->item->name); + #endif continue; } give_artifact_abilities(op, art->item); return; } } + /* fix_flesh_item() - objects of type FLESH are similar to type + * FOOD, except they inherit properties (name, food value, etc). + * based on the original owner (or 'donor' if you like). -b.t. + */ + + void fix_flesh_item(object *item, object *donor) { + char tmpbuf[MAX_BUF]; + + if(item->type==FLESH && donor) { + /* change the name */ + sprintf(tmpbuf,"%s's %s",donor->name,item->name); + free_string(item->name); + item->name=add_string(tmpbuf); + /* weight is FLESH weight/100 * donor */ + if((item->weight = (float) (item->weight/100.0) * donor->weight)==0) + item->weight=1; + /* value is multiplied by level of donor */ + item->value *= donor->level; + /* food value */ + item->stats.food += (donor->stats.hp/100) + donor->stats.Con; + /* flesh items inherit vuln, prot of donor */ + item->vulnerable = donor->vulnerable; + item->protected = donor->protected; + /* if donor has some attacktypes, the flesh is poisonous */ + if(donor->attacktype&AT_POISON) + item->type=POISON; + if(donor->attacktype&AT_ACID) item->stats.hp = -1*item->stats.food; } + } + + /* special_potion() - so that old potion code is still done right. */ + + int special_potion (object *op) { + + if(op->attacktype) return 1; + if(op->immune || op->vulnerable || op->protected || op->stats.sp) return 1; + if(op->stats.Str || op->stats.Dex || op->stats.Con || op->stats.Pow + || op->stats.Wis || op->stats.Int || op->stats.Cha ) return 1; + return 0; + } From owner-crossfire Fri Aug 16 14:19:27 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 16 Aug 1996 14:19:27 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Fri, 16 Aug 1996 14:19:23 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA11469; Fri, 16 Aug 96 08:20:05 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA19729; Fri, 16 Aug 96 08:19:17 EDT Date: Fri, 16 Aug 96 08:19:17 EDT From: "Brian Thomas" Message-Id: <9608161219.AA19729@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: character title not being set Sender: owner-crossfire Precedence: bulk Status: RO Hi all, I found that my character's title was not being read properly when I logged back in. I use SunOS 4.1.3, don't know if this is a problem on other OS. Here's a short patch for login.c that works for me (no idea if this is bad for other OS): *** login.c Wed Jul 24 03:45:50 1996 --- ../../../crossfire/server/login.c Fri Aug 16 08:12:58 1996 *************** *** 533,544 **** while (fgets(bufall,MAX_BUF,fp)!=NULL) { sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"endplst")) break; #ifdef SET_TITLE ! else if (!strncmp(bufall,"title",6)) ! sscanf(bufall,"title %s[^\n]",pl->own_title); #endif /* SET_TITLE */ #ifdef SAVE_WINDOW_POSITIONS else if (!strcmp(buf,"win_pos") && pl->split_window) { pl->valid_save_positions= (sscanf(bufall, --- 533,545 ---- while (fgets(bufall,MAX_BUF,fp)!=NULL) { sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"endplst")) break; #ifdef SET_TITLE ! else if (!strcmp(buf,"title")) ! sscanf(bufall,"title %s",pl->own_title); ! /* sscanf(bufall,"title %s[^\n]",pl->own_title); */ #endif /* SET_TITLE */ #ifdef SAVE_WINDOW_POSITIONS else if (!strcmp(buf,"win_pos") && pl->split_window) { pl->valid_save_positions= (sscanf(bufall, From owner-crossfire Tue Aug 27 09:10:41 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 09:10:41 +0200 Received: from tukki.cc.jyu.fi (np@tukki.cc.jyu.fi [130.234.1.1]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 09:10:30 +0200 Received: (from np@localhost) by tukki.cc.jyu.fi (8.7.2/8.7.2) id KAA08017 for crossfire@ifi.uio.no; Tue, 27 Aug 1996 10:10:27 +0300 (EET DST) From: Niilo Paasivirta Message-Id: <199608270710.KAA08017@tukki.cc.jyu.fi> Subject: Re: CF: Experience awards with skills, map design Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Tue, 27 Aug 1996 10:10:27 +0300 (EET DST) In-Reply-To: <199608261657.MAA02221@xplorer.gsfc.nasa.gov> from "Brian Thomas" at Aug 26, 96 12:57:52 pm X-Mailer: ELM [version 2.4 PL25] MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit Sender: owner-crossfire Precedence: bulk Status: RO I know that developers don't have time to play the game - I'm developing a MUD myself - and so they don't know all the cheats. But it's a great game, and finding cheats is especially fun! I will report the cheats I find, it will be fun to try to find more of them in next version :) > As for specific examples: > > > Stealing skill gives far too easy experience. Go to Jessy (9th level > > > of Hell at Brest for example) and steal from it, you'll be at level > > > 110 in no time. > Hmm. In this case the Jessy should be *attacking* the stealer! He _is_! However, if one has Ring of Life, he doesn't actually do much damage. (Ring of Life is a _must_ when playing - possibly there are other items but that is the easiest to find. Never mind Grimreapers any more if you got that! Experience drain sucks. I believe it was not even possible to restore? If it was so, something should be done to it...) Anyway, back to Jessy. Acid protection helps too, but it is not absolutely neccessary. I think acid code is not yet as it should to be, because only a helmet I'm wearing gets corroded. Just carry a spare helmet and no problem. Weapons seem to be ruined too, but one does not have to wield one and can also stuff them into cauldron to protect them. > How do you get so close with out being hit? Jessy should be > throwing lots of nasty spells too! Id imagine any potential That is another feature. With those big monsters, if you stand at the correct locations, the monster doesn't somehow detect you at all and does not throw any spells!!! Of course, I first sing to Jessy and calm him (he is not actually calmed though). Would gain singing exp but it already is at maximum :)... Ah, one thing about that singing, one can sing many times to big monsters and get the "Xxxx is calmed.", and experience. Does it calm all the "squares" of a big monster, piece by piece :)? Haven't yet read the sources that much... > theif will have to be at least 25 level to even attempt this. > One possible (code) fix -- make it more difficult to steal. > Therefore you will have to stand next to the victim longer. Perhaps a little longer, but not much, especially if big monster spells and acid are fixed (*shiver*)! >>It is also very easy to gain a lot of exp by using the oratory skill. >>Castle guards are a good targets for low level players because they >>will not attack you immediately. >...But how do you use the guards to > get mondo experience? What do you kill with them??? I believe he meant that just using the oratory skill gives the (personality) experience with those guards. No need to kill with them... > I have, and continue to consider playbalance in my coding efforts. > Please keep posting examples of out-of-wack stuff to the > list so that they may be addressed! Well, there is one "minor" thing: the Cauldron. Weight is 80. But that's nothing, because an INFINITE amount of stuff can be inserted into it. *** AND, IT STILL WEIGHS 80 ALL THE TIME!!! *** There is also "Cauldron of Holding", but it doesn't seem to do anything more (what more could it do anyway :). -- Niilo Paasivirta (np@cc.jyu.fi) From owner-crossfire Mon Aug 26 18:57:59 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 26 Aug 1996 18:57:59 +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 ; Mon, 26 Aug 1996 18:57:55 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id MAA02221; Mon, 26 Aug 1996 12:57:52 -0400 Date: Mon, 26 Aug 1996 12:57:52 -0400 From: Brian Thomas Message-Id: <199608261657.MAA02221@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Experience awards with skills, map design Cc: np@cc.jyu.fi Sender: owner-crossfire Precedence: bulk Status: RO > From: Raphael writes: > > > It's > > not working too well, because one can get to level 110 with physical > > and agility skills there. Just enter the place, steal everything > > from Angel, then kill it. You have to die, but that's nothing > > compared to the amount of exp you just got. > > Right. You get far too much experience for killing that angel. And > if you use the "word of recall" to get back to the city, you don't > even loose 20% of your exp. > Yes. I would recogmend changing the experience award in this area! &&& About Playbalance Issues in SKills Hmm. Much of the game is out of balance since the introduction of the skills system. As I stated at the time of the introducion of the skills system, it would take a while to playbalance the game. There are a few very easy ways to abuse the game to gain lots of experience (which shouldnt be). One change I believe will happen, Mark is planning to retool the stat awards for all skills with less generous award schedule. In some few cases, it is the design of maps that make abuse of skills easy. As for specific examples: > > > Stealing skill gives far too easy experience. Go to Jessy (9th level > > of Hell at Brest for example) and steal from it, you'll be at level > > 110 in no time. > Hmm. In this case the Jessy should be *attacking* the stealer! How do you get so close with out being hit? Jessy should be throwing lots of nasty spells too! Id imagine any potential theif will have to be at least 25 level to even attempt this. One possible (code) fix -- make it more difficult to steal. Therefore you will have to stand next to the victim longer. > It is also very easy to gain a lot of exp by using the oratory skill. > Castle guards are a good targets for low level players because they > will not attack you immediately. Hmm. One (code) fix is to make "standing_still" creatures immune to being recruited. But how do you use the guards to get mondo experience? What do you kill with them??? > You can also experience in wisdom > skills by killing demilichs from Lord Ramsdre's mansion in Santo > Dominion. There is a small corridor in that house which doesn't have > "no spells", so you can kill all demilichs with "holy orb", > "banishment" or other prayers. > Yeah I have used this strategy myself. I would recogmend changing this map. > Then I gained a lot of exp in wisdom skill with the "holy wrath" > prayer, which is very effective against Jessy and big wizards. It > takes a bit more time for getting exp in wizard skills because Jessy > is immune to most of them. > Argh. What God do you worship?? Jessy shouldnt be of any race that will be *affected* by *any* holy word spell (this includes holy wrath). This shouldnt be possible. > Now I can take almost any character from level 1 to 110 in a couple > of hours. That should not be possible. > Agreed! I would expect it should take an *experienced* player *at least* 100+ hrs to reach 30th level or so. That would be my goal for playbalance (and I consider that an easy scale). I have, and continue to consider playbalance in my coding efforts. Please keep posting examples of out-of-wack stuff to the list so that they may be addressed! -b.t. From owner-crossfire Mon Aug 26 16:02:25 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 26 Aug 1996 16:02:25 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 26 Aug 1996 16:02:16 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id QAA13308 for ; Mon, 26 Aug 1996 16:02:13 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id QAA01815 for crossfire@ifi.uio.no; Mon, 26 Aug 1996 16:02:10 +0200 (MET DST) Date: Mon, 26 Aug 1996 16:02:10 +0200 (MET DST) Message-Id: <199608261402.QAA01815@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Gameplay issues and misc stuff From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO Before the dawn of time (actually, last Wednesday), Mark Wedel wrote: > Quite a while ago, Raphael.Quinet@eed.ericsson.se wrote: [...] > >- The new attack code will sometimes produce the same kind of > > unfortunate side effects as the ones I tried to fix in my patch to > > 0.92.4: if your weapon is "improved" by getting some god's attack > > type (e.g. weaponmagic and fear for God), it can become useless > > against some monsters. [...] > Acid spheres are immune to weapon magic and fear, so at least in that > regard, the program is running properly. I don't think acid spheres > should be immune to weapon magic, but it stands now, the code is doing the > right thing. Hmmm... So this means that ORing the attack type with AT_FEAR and AT_WEAPONMAGIC also removes the default physical attack? That could explain a few things. > > This also happens if you get the "Essence of Flame" that gives you > > the attack type "fire". If you wear it, you are unable to hit some > > monsters. Isn't there a way to fix that? > > I am guessing that the some mosnters are things like wyverns and dragons? > Once again, if the attacktype is only fire, and the creature is immune to fire, > the code is doing the right thing. The "Essence of Flame" is actually a modified "bracers" archetype, which should add the attack type "fire" as well as "physical" to your current attack type (I just checked, it adds "physical", not only "fire" as I wrote before). Well, in some cases it doesn't seem to work properly. I will try again to see exactly in which cases it gives unexpected results. Now we also could discuss about the fairness of this item, because adding AT_FIRE when you are already wielding a powerful weapon could be a bit unfair (it also adds Path_Denied frost, but that is not much). > Perhaps make sure all weapons attack with at least physical? (note, to do this > in the code could be difficult, [...] Hmmm... Right, it would be much better (even if it would be a pain) to change all archetypes for the weapons. If I understand correctly, this would be the only way to get rid of the unfortunate side effect that a weapon without any special attack type stops working when some new attack type is added to it (because it doesn't default to the "physical" attack as it did before the improvement). Am I right? > >- The alchemy code, when combined with god intervention, can affect > > play balance (a lot). [...] > > I think Brian already fixed this? Obviously, setting the value to > created items to 0 is an easy solution - makes alchemy only useful for > person creation, and not money making. I would guess taht you could > also read a remove curse scroll and get the same benefit of praying.. As I wrote to Brian in a separate message, setting the value of the items to zero does not solve the problem. Even if they cannot be used for making money, they can still be used for their "normal use". For example, I can easily collect a few dozen potions of invulnerability by sacrificing a few silver coins, foods, and various useless items. Even if I cannot sell these potions, I can still use them. That is why I suggested to Brian that the failure code for alchemy spell should only create cursed items that have a nominal value (when not cursed) which is less than the total value of the items that are in the cauldron, without setting their value to zero artificially. Otherwise, the items would always be too poweful (because one can remove the curse easily). Note that this only applies to failed formulae: there should be no limit for the value of the items in a successful transformation. -Raphael From owner-crossfire Mon Aug 26 15:16:37 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 26 Aug 1996 15:16:37 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 26 Aug 1996 15:16:24 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id PAA05878; Mon, 26 Aug 1996 15:16:20 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id PAA00291; Mon, 26 Aug 1996 15:16:18 +0200 (MET DST) Date: Mon, 26 Aug 1996 15:16:18 +0200 (MET DST) Message-Id: <199608261316.PAA00291@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Maps, stealing, etc. Cc: np@cc.jyu.fi From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO On Mon, 26 Aug 1996, Niilo Paasivirta wrote: > Anyway, here's a couple of things I've noticed by playing the game > (do the developers ever play it?). Nah, I think that the developers don't have the time for that. They are too busy coding to waste their time playing the game. :-) > Line 98, maps/Lake_Country/small_buildings/burial_ground: > slaying kundi_area > > results, of course, in "The image of a ghost is closed" when you > say the magic word... I noticed that too. One of the first things I did when I received the new maps with Lake_Country is to change that exit to "../kundi_area", because I also got trapped there. There are several other places in Lake_Country in which the exits are not correctly connected. There are also some maps that are not reacheable at all (probably some old stuff, but it should be removed, then), such as those in /Lake_Country/flight/. > Or is it supposed to be a death trap? Not if you have the "word of recall" spell. One of the squares in that map doesn't have the "no spells" (the one with the image of the angel). > It's > not working too well, because one can get to level 110 with physical > and agility skills there. Just enter the place, steal everything > from Angel, then kill it. You have to die, but that's nothing > compared to the amount of exp you just got. Right. You get far too much experience for killing that angel. And if you use the "word of recall" to get back to the city, you don't even loose 20% of your exp. > Another bug (?) with Lake Country maps: there seems to be no > way to enter Ebon Thief Guild. Sneaky the thief at the inn does > not say anything nor has that Master key of Thievery, which I think > is required for entering the guild. But perhaps the area is not > finished? It is obvious that some places are not finished. But there _is_ a way. I found it. :-) Go to Galmorus' hut, then go to the secret passage in the garden (hint: it's wet near the entrance) and you should be able to find your way from there (second hint: some walls are not so solid). The same passage should also be reachable from Jacob's house, although I have never been able to enter from there. > Stealing skill gives far too easy experience. Go to Jessy (9th level > of Hell at Brest for example) and steal from it, you'll be at level > 110 in no time. It is also very easy to gain a lot of exp by using the oratory skill. Castle guards are a good targets for low level players because they will not attack you immediately. You can also experience in wisdom skills by killing demilichs from Lord Ramsdre's mansion in Santo Dominion. There is a small corridor in that house which doesn't have "no spells", so you can kill all demilichs with "holy orb", "banishment" or other prayers. > All you need is Ring of Life, acid protection if > possible, and level 17 warrior, for example. I rised 93 levels in > a couple of hours, most of the time saved at Jessy and waiting the > game to crash (I don't run this server). Even singing isn't _that_ > good any more. And, of course, you can easily out-maneuver Jessy, > turn all the handles, and get the key to treasure chamber every > time too :) Well, I did the same a few times in the towers of luck. I quickly gained a lot of exp in the physical skill by killing Jessy a couple of times (immunity to cold, fire, lighning and attack helps a lot too). Then I gained a lot of exp in wisdom skill with the "holy wrath" prayer, which is very effective against Jessy and big wizards. It takes a bit more time for getting exp in wizard skills because Jessy is immune to most of them. Now I can take almost any character from level 1 to 110 in a couple of hours. That should not be possible. > Still, I'm only on the 3rd place on high score list here. Just because > I haven't yet found the easiest way to rise spellcasting level... I went through all houses in Brest a couple of times, killing dragons and other monsters with frostbolt. The "destruction" spell is very useful too (it doesn't destroy all items). -Raphael From owner-crossfire Mon Aug 26 13:09:24 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 26 Aug 1996 13:09:24 +0200 Received: from mne.ifi.uio.no (1232@mne.ifi.uio.no [129.240.70.5]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Mon, 26 Aug 1996 13:08:57 +0200 Received: (from kjetilho@localhost) by mne.ifi.uio.no ; Mon, 26 Aug 1996 13:08:52 +0200 Message-Id: <199608261108.15099.mne.ifi.uio.no@ifi.uio.no> From: Niilo Paasivirta Subject: CF: Maps, stealing, etc. Mime-Version: 1.0 To: crossfire@ifi.uio.no Date: Mon, 26 Aug 1996 08:53:25 +0300 (EET DST) Sender: owner-crossfire Precedence: bulk Status: RO I don't seem to get the mailing list at all, or is it just so quiet? [All new subscribers are manually added to avoid spams - Kjetil T.] Anyway, here's a couple of things I've noticed by playing the game (do the developers ever play it?). Hope this is the correct list to report this stuff into? Line 98, maps/Lake_Country/small_buildings/burial_ground: slaying kundi_area results, of course, in "The image of a ghost is closed" when you say the magic word... Or is it supposed to be a death trap? It's not working too well, because one can get to level 110 with physical and agility skills there. Just enter the place, steal everything from Angel, then kill it. You have to die, but that's nothing compared to the amount of exp you just got. Another bug (?) with Lake Country maps: there seems to be no way to enter Ebon Thief Guild. Sneaky the thief at the inn does not say anything nor has that Master key of Thievery, which I think is required for entering the guild. But perhaps the area is not finished? Stealing skill gives far too easy experience. Go to Jessy (9th level of Hell at Brest for example) and steal from it, you'll be at level 110 in no time. All you need is Ring of Life, acid protection if possible, and level 17 warrior, for example. I rised 93 levels in a couple of hours, most of the time saved at Jessy and waiting the game to crash (I don't run this server). Even singing isn't _that_ good any more. And, of course, you can easily out-maneuver Jessy, turn all the handles, and get the key to treasure chamber every time too :) Still, I'm only on the 3rd place on high score list here. Just because I haven't yet found the easiest way to rise spellcasting level... -- Niilo Paasivirta (np@cc.jyu.fi) From owner-crossfire Wed Aug 21 10:53:47 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Wed, 21 Aug 1996 10:53:47 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Wed, 21 Aug 1996 10:53:39 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA23541; Wed, 21 Aug 96 01:53:05 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id BAA02197; Wed, 21 Aug 1996 01:53:01 -0700 From: "Mark Wedel" Message-Id: <9608210153.ZM2195@stealth.eng.pyramid.com> Date: Wed, 21 Aug 1996 01:53:01 -0700 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Gameplay issues and misc stuff Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO Quite a while ago, Raphael.Quinet@eed.ericsson.se wrote: >Here are a few random comments related to 0.92.5: > >- The new attack code will sometimes produce the same kind of > unfortunate side effects as the ones I tried to fix in my patch to > 0.92.4: if your weapon is "improved" by getting some god's attack > type (e.g. weaponmagic and fear for God), it can become useless > against some monsters. > > Example: I got Mopoon's Dragonbane (very powerful weapon, with dam > +81). After having prayed over an altar of God, it received the > attacks weapon magic and fear. After that, it always missed the > acid spheres and some other monsters. That happens less often than > with the bug that I fixed in the previous version of the code, but > sometimes the "best attack type" that is chosen by the new code is > one to which the monster is immune. I was just perusing the spoiler, and things clicked in. Acid spheres are immune to weapon magic and fear, so at least in that regard, the program is running properly. I don't think acid spheres should be immune to weapon magic, but it stands now, the code is doing the right thing. > > This also happens if you get the "Essence of Flame" that gives you > the attack type "fire". If you wear it, you are unable to hit some > monsters. Isn't there a way to fix that? I am guessing that the some mosnters are things like wyverns and dragons? Once again, if the attacktype is only fire, and the creature is immune to fire, the code is doing the right thing. However, with the new attack code, havign a lot of attacktypes is better. Perhaps make sure all weapons attack with at least physical? (note, to do this in the code could be difficult, since the hit_player stuff gets used for all sorts of attacks (spells, missiles, etc, and if physical is always hardcoded in, many spells would become unexpectedly powerful (you could in theory kill dragons with fireballs)) > >- The alchemy code, when combined with god intervention, can affect > play balance (a lot). Here is how: put four or five cheap objects > in a cauldron (e.g. one silver coin, one arrow, one food, one booze) > and use the alchemy spell. Do that several times and collect the > items every time. If you identify them, you will see that all of > them are cursed. Now go and pray over an altar, and the curses will > be removed. Result: with a few cheap objects, you get several very > valuable items (you can sell them and get 100 times the value of > what you originally put in the cauldron). > I think Brian already fixed this? Obviously, setting the value to created items to 0 is an easy solution - makes alchemy only useful for person creation, and not money making. I would guess taht you could also read a remove curse scroll and get the same benefit of praying.. > >- The dragon steaks are not counted as food anymore. They are much > lighter than before and have the same "food value", even if they > taste terrible. Thus they become more interesting than > waybreads... except that your character will not eat them > automatically when the food drops below zero. Consequence: I was in > a battle, using a lot of mana (and food for regeneration), and > suddenly my character died although I was carrying several dragon > steaks. I know the brian has fixed up the weight problem some (body parts are no longer as superlight, but may still be a bit lighter than normal.. Perhaps food value should also be based on weight? After all, a dragonsteak from a fairie dragon probably should not have as much food value (and mass) as one from a full dragon) I am not sure why brian needed to create the flesh type for these items - perhaps he can elaborate. Ideally, flesh, drink, and food should be the same item type (as far as I know, the only reason drink needs to be different than booze is the message it prints out (you drink instead of you eat). Hopefully, I haven't rehashed too much old stuff. -- --Mark From owner-crossfire Tue Aug 20 10:46:20 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 20 Aug 1996 10:46:20 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 20 Aug 1996 10:46:16 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA12887; Tue, 20 Aug 96 01:45:38 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id BAA25908; Tue, 20 Aug 1996 01:45:33 -0700 From: "Mark Wedel" Message-Id: <9608200145.ZM25906@stealth.eng.pyramid.com> Date: Tue, 20 Aug 1996 01:45:33 -0700 In-Reply-To: "Brian Thomas" "CF: Low potion prices -- fix" (Aug 19, 4:41am) References: <9608190841.AA27460@zaphod.astro.psu.edu> X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: "Brian Thomas" , crossfire@ifi.uio.no Subject: Re: CF: Low potion prices -- fix Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO On Aug 19, 4:41am, Brian Thomas wrote: > Subject: CF: Low potion prices -- fix > > One thing I noticed, the "staves of healing" have a cost just barely > above that of "balm of healing"! Eek. Why would anyone use the balm, > when you can buy a (multiple use) staff for only 1 platinum more?? > > I see that the prices of other staffs are a bit higher. Shouldnt this > be increased? (or balm prices dropped??). > Well, I am pretty sure you came up with the balm idea. However, I personally think that generation of spell related items (scrolls, wands, rods) need to have a better control method. Ideally, for each spell, there would be a base price for each of those items, an increase price per level, and a level range. So thus, a detect magic scroll could be made more expensive than a burning hands spell, even though they are the same level. For some spells, caster level could make a minor difference, and only minor price changes, and for others, it could be a considerable difference (and certainly, for some spells, certain items aren't all the important. I mean, do you really ever need a heavy rod of percieve self?) The other idea on this is for spells in which level makes no importance at all (detections spells, magic mapping, and probably some others), the range could be set such that there is no range. That way, instead of having 10 entries for detect magic scrolls (Because they are different levels), you would always have one. Of course, this stuff should all be in some config file (like the spellparms is now.) Along with that, a simple perl script shoudl be written that could transform such files to include files, so that you could just update that config file and you could run the regen script so that when the game gets compiled it has preset defaults. -- --Mark From owner-crossfire Tue Aug 20 08:27:29 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 20 Aug 1996 08:27:29 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 20 Aug 1996 08:27:26 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA29861; Tue, 20 Aug 96 02:28:10 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA29502; Tue, 20 Aug 96 02:27:16 EDT Date: Tue, 20 Aug 96 02:27:16 EDT From: "Brian Thomas" Message-Id: <9608200627.AA29502@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: consistent title/content hack (book archive) Sender: owner-crossfire Precedence: bulk Status: RO I made a new hack on the reading material -- it basically introduces a book "archive" so that titles/content will always be the same. Look in /pub/thomas on ftp.astro.psu.edu for the file read.tar.gz. Below, I include an excerpt of the code documentation. Breakdown by file: readable.c.diff -- adds in archive code. treasure.c.diff -- makes treasure file funct calls consistent w/ code. Lowered book values some. structs.c.diff -- introduces two new structures, "title" and "titlelist". libproto.h.diff -- needed to compile the code (if you lack cextrct). -b.t. FROM ARCHIVE DESC in readable.c:: + * This option should enforce UNIQUE combinations of titles,authors and + * msg contents during and *between* game sessions. + * Note: a slight degeneracy exists since books are archived based on an integer + * index value calculated from the message text (similar to alchemy formulae). + * Sometimes two widely different messages have the same index value (rare). In + * this case, it is possible to occasionally generate 2 books with same title and + * different message content. Not really a bug, but rather a feature. This action + * should keeps player on their toes ;). + * Also, note that there is *finite* space available for archiving message and titles. + * Once this space is used, books will stop being archived. Not a serious problem + * under the current regime, since there are generally fewer possible (random) + * messages than space available on the titlelists. + * One exception (for sure) are the monster messages. But no worries, you should + * see all of the monster info in some order (but not all possble combinations) + * before the monster titlelist space is run out. You can increase titlelist + * space by increasing the array sizes for the monster book_authours and book_names + * (see max_titles[] array and include/read.h). Since the unique_book algorthm is + * kinda stupid, this program *may* slow down program execution if defined (but I don't + * think its a significant problem, at least, I have no problems running this option + * on a Sparc 10! Also, once archive title lists are filled and/or all possible msg + * combinations have been generated, unique_book isnt called anymore. It takes 5-10 + * sessions for this to happen). + * Final note: the game remembers book/title/msg combinations from reading the + * file lib/bookarch. If you REMOVE this file, you will lose your archive. So + * be sure to copy it over to the new lib directory when you change versions. + * -b.t. From owner-crossfire Mon Aug 19 10:41:12 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 19 Aug 1996 10:41:12 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 19 Aug 1996 10:41:04 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA24086; Mon, 19 Aug 96 04:41:49 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA27460; Mon, 19 Aug 96 04:41:00 EDT Date: Mon, 19 Aug 96 04:41:00 EDT From: "Brian Thomas" Message-Id: <9608190841.AA27460@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Low potion prices -- fix Sender: owner-crossfire Precedence: bulk Status: RO > Mark writes: > > Actually, looking at this, I think if the first thing of the case does is > check for a special potion and break if it is, things would be OK ( Yeah, unfortunately, I reversed the logic! The reason I did this is a bit arcane, so I won't fully explain it (it was stupid anyway). I made a patch file for treasures.c (to the already modified file). After removing 1 part of the logic from special_potion and reversing its use in the right place, things appear to be moving in greased grooves once again. As an outcome of this patch, prior potions "potion of healing" and "potion of restoration" will have their prices set at the (lower) value that the 'artifact' generated potions have. This seems fair since: 1) both potions are generated via artifacts list anyway and 2) they were pretty pricey before (esp. healing potion). One thing I noticed, the "staves of healing" have a cost just barely above that of "balm of healing"! Eek. Why would anyone use the balm, when you can buy a (multiple use) staff for only 1 platinum more?? I see that the prices of other staffs are a bit higher. Shouldnt this be increased? (or balm prices dropped??). -b.t. *** treasure.c Mon Aug 19 04:32:17 1996 --- ./../../../crossfire/common/treasure.c Mon Aug 19 04:31:04 1996 *************** *** 691,705 **** op->value*=3; } break; case POTION: { int too_many_tries=0,is_special=0; ! while(!(is_special=special_potion(op))) { generate_artifact(op,difficulty); if(too_many_tries++ > 10) break; } ! if(is_special) { int nrof_potion=spells[op->stats.sp].scrolls-RANDOM()%3; /* these 'potions' have been generated as artifacts * and therefore need a few adjustments */ /* give fewer potions than scrolls */ --- 691,705 ---- op->value*=3; } break; case POTION: { int too_many_tries=0,is_special=0; ! while(!(is_special=special_potion(op)) && !op->stats.sp) { generate_artifact(op,difficulty); if(too_many_tries++ > 10) break; } ! if(!is_special) { int nrof_potion=spells[op->stats.sp].scrolls-RANDOM()%3; /* these 'potions' have been generated as artifacts * and therefore need a few adjustments */ /* give fewer potions than scrolls */ *************** *** 1310,1328 **** item->vulnerable = donor->vulnerable; item->protected = donor->protected; /* if donor has some attacktypes, the flesh is poisonous */ if(donor->attacktype&AT_POISON) item->type=POISON; ! if(donor->attacktype&AT_ACID) item->stats.hp = -1*item->stats.food; } } /* special_potion() - so that old potion code is still done right. */ int special_potion (object *op) { if(op->attacktype) return 1; ! if(op->immune || op->vulnerable || op->protected || op->stats.sp) return 1; if(op->stats.Str || op->stats.Dex || op->stats.Con || op->stats.Pow || op->stats.Wis || op->stats.Int || op->stats.Cha ) return 1; return 0; } --- 1310,1329 ---- item->vulnerable = donor->vulnerable; item->protected = donor->protected; /* if donor has some attacktypes, the flesh is poisonous */ if(donor->attacktype&AT_POISON) item->type=POISON; ! if(donor->attacktype&AT_ACID) item->stats.hp = -1*item->stats.food; ! } } /* special_potion() - so that old potion code is still done right. */ int special_potion (object *op) { if(op->attacktype) return 1; ! if(op->immune || op->vulnerable || op->protected ) return 1; if(op->stats.Str || op->stats.Dex || op->stats.Con || op->stats.Pow || op->stats.Wis || op->stats.Int || op->stats.Cha ) return 1; return 0; } From owner-crossfire Mon Aug 19 06:28:02 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Mon, 19 Aug 1996 06:28:02 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Mon, 19 Aug 1996 06:27:58 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA01000; Sun, 18 Aug 96 21:27:20 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id VAA01698; Sun, 18 Aug 1996 21:27:17 -0700 From: "Mark Wedel" Message-Id: <9608182127.ZM1696@stealth.eng.pyramid.com> Date: Sun, 18 Aug 1996 21:27:16 -0700 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Low potion prices. Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO I found the problem with low potions. As I thought, the cause of this is an after the fact patch to 0.92.5 (I believe the patch originated from Brian) As a simple fix, just remove teh entire POTION case from around line 695 in the treasure.c file. The code there really seems a little strange to me. I am not sure if the while loop to generate a potion artifact will really do the right thing (will a generated artifact potion actually change the` special status?) In any case, if the potion is already a 'special potion' (which in this case is the old traditional potions), we certainly don't want to be adjusting the value of it - we shoudl leave the properties the same. Actually, looking at this, I think if the first thing of the case does is check for a special potion and break if it is, things would be OK ( old potions wouldn't be touched then, but I guess new artifact potions could be created..) -- --Mark From owner-crossfire Fri Aug 16 15:01:17 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 16 Aug 1996 15:01:17 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Fri, 16 Aug 1996 15:01:13 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA11568; Fri, 16 Aug 96 09:01:58 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA19872; Fri, 16 Aug 96 09:01:10 EDT Date: Fri, 16 Aug 96 09:01:10 EDT From: "Brian Thomas" Message-Id: <9608161301.AA19872@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Title, FINAL patch version Sender: owner-crossfire Precedence: bulk Status: RO Argh. What a morning. Heres the final WORKing version of that so simple patch. -b.t. *** ../../tarfiles/crossfire-0.92.5/server/login.c Wed Jul 24 03:45:50 1996 --- ./login.c Fri Aug 16 08:56:51 1996 *************** *** 533,544 **** while (fgets(bufall,MAX_BUF,fp)!=NULL) { sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"endplst")) break; #ifdef SET_TITLE ! else if (!strncmp(bufall,"title",6)) ! sscanf(bufall,"title %s[^\n]",pl->own_title); #endif /* SET_TITLE */ #ifdef SAVE_WINDOW_POSITIONS else if (!strcmp(buf,"win_pos") && pl->split_window) { pl->valid_save_positions= (sscanf(bufall, --- 533,544 ---- while (fgets(bufall,MAX_BUF,fp)!=NULL) { sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"endplst")) break; #ifdef SET_TITLE ! else if (!strcmp(buf,"title")) ! sscanf(bufall,"title %s[^\n]",pl->own_title); #endif /* SET_TITLE */ #ifdef SAVE_WINDOW_POSITIONS else if (!strcmp(buf,"win_pos") && pl->split_window) { pl->valid_save_positions= (sscanf(bufall, From owner-crossfire Fri Aug 16 14:50:47 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 16 Aug 1996 14:50:47 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Fri, 16 Aug 1996 14:50:43 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA11528; Fri, 16 Aug 96 08:51:27 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA19803; Fri, 16 Aug 96 08:50:40 EDT Date: Fri, 16 Aug 96 08:50:40 EDT From: "Brian Thomas" Message-Id: <9608161250.AA19803@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: TITLE patch, take II Sender: owner-crossfire Precedence: bulk Status: RO I see that fewer changes are needed than I thought. Please use the following patch instead. -b.t. *** login.c Wed Jul 24 03:45:50 1996 --- ../../../crossfire/server/login.c Fri Aug 16 08:12:58 1996 *************** *** 533,544 **** while (fgets(bufall,MAX_BUF,fp)!=NULL) { sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"endplst")) break; #ifdef SET_TITLE ! else if (!strncmp(bufall,"title",6)) sscanf(bufall,"title %s[^\n]",pl->own_title); #endif /* SET_TITLE */ #ifdef SAVE_WINDOW_POSITIONS else if (!strcmp(buf,"win_pos") && pl->split_window) { pl->valid_save_positions= (sscanf(bufall, --- 533,545 ---- while (fgets(bufall,MAX_BUF,fp)!=NULL) { sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"endplst")) break; #ifdef SET_TITLE ! else if (!strcmp(buf,"title")) sscanf(bufall,"title %s[^\n]",pl->own_title); #endif /* SET_TITLE */ #ifdef SAVE_WINDOW_POSITIONS else if (!strcmp(buf,"win_pos") && pl->split_window) { pl->valid_save_positions= (sscanf(bufall, From owner-crossfire Sun Sep 1 08:59:05 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 1 Sep 1996 08:59:05 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Sun, 1 Sep 1996 08:59:01 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA01106; Sat, 31 Aug 96 23:58:30 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id XAA15957; Sat, 31 Aug 1996 23:58:22 -0700 From: "Mark Wedel" Message-Id: <9608312358.ZM15955@stealth.eng.pyramid.com> Date: Sat, 31 Aug 1996 23:58:22 -0700 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Experience awards with skills, map design Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO > >(Ring of Life is a _must_ when playing - possibly there are other items >but that is the easiest to find. Never mind Grimreapers any more if >you got that! Experience drain sucks. I believe it was not even possible >to restore? If it was so, something should be done to it...) I was thinking of also adding cold to the grimreapers attacktype, just to still make them somewhat nasty. A ring of life is one of the must have items. Unfortuantely, grim reapers are found on a lot of lower level maps (Before the character could hope to get a ring of life/strange ring.) In this case, the character either needs to run away (can be hard, as grimreapers move pretty quickly), hope to kill them very quickly (can also be difficult,since they are immune to physical), or jsut hope they don't loose too much experience. It wouldn't be a bad idea to add some form of experience restoration (keep track of max experience or experience lost in the player structure, allow some spell or potion to restore it..) > >Well, there is one "minor" thing: the Cauldron. > >Weight is 80. But that's nothing, because an INFINITE amount of stuff >can be inserted into it. I think I have fixed this for the next version. It strength was 100. strength gets used for containers and reduces the inserted object weight by that much - Thus, at strenght 100, it reduces inserted objects to 0. I have changed its strength to 0, so inserted objects will weight normal value. >There is also "Cauldron of Holding", but it doesn't seem to do >anything more (what more could it do anyway :). With the change, it could still do something. However, cauldrons of holding don't seem to really fit in, so I have disabled their creation. >On Tue, 27 Aug 1996, Niilo Paasivirta wrote: >[...] >> > Hmm. In this case the Jessy should be *attacking* the stealer! >> >> He _is_! However, if one has Ring of Life, he doesn't actually do >> much damage. > >Hmmm... If one has the Ring of Life _and_ immunity to electricity, >immunity to attack, immunity to fire and immunity to cold, then yes, >it is easy to stay near Jessy. If you are not immune to these >attacks, then I wonder how you can survive. Unless you removed the >ability for Jessy to cast spells... As said, Ring of Life is a must have item. Immunity to attack isn't too hard to get (potion invulnerability), likewise fir and cold. Immunity to electricity was always the hard one - I don't know if the new alchemy code actually adds any such potions now. I have noticed that a lot of the cone spells that monsters are casting seem pretty wimpy right now - it is almost like NO_CONE_PROPROGATE is set no matter what it is set to in teh config.h file. I have really noticed this against wyverns - their cone goes 1 space then stops. This makes a lot of stuff much easier (even if you are sitting next to the monster and still in the area, you are being hit for less time.) > >I am now carrying a "cauldron +3", which weights only 56. Much >lighter than the normal cauldron, and I can carry as much as I want >while still running at top speed. Hmmm... Is that fair? > As said, I fixed the containment bug. But magical cauldrons seem a little strange - you don't find +3 sacks or +3 quivers. -- --Mark From owner-crossfire Sun Sep 1 08:45:18 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Sun, 1 Sep 1996 08:45:18 +0200 Received: from gossip.pyramid.com (gossip.pyramid.com [129.214.1.101]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Sun, 1 Sep 1996 08:45:14 +0200 Received: from stealth-news.pyramid.com by gossip.pyramid.com (5.61/OSx5.1a Pyramid-Internet-Gateway) id AA01076; Sat, 31 Aug 96 23:44:42 -0700 Received: by stealth.eng.pyramid.com (8.6.12/Pyramid_Internal_Configuration) id XAA15391; Sat, 31 Aug 1996 23:44:34 -0700 From: "Mark Wedel" Message-Id: <9608312344.ZM15389@stealth.eng.pyramid.com> Date: Sat, 31 Aug 1996 23:44:34 -0700 X-Mailer: Z-Mail (3.2.0 06sep94) Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: Re: Gameplay issues Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-crossfire Precedence: bulk Status: RO >Before the dawn of time (actually, last Wednesday), Mark Wedel wrote: >> Quite a while ago, Raphael.Quinet@eed.ericsson.se wrote: >[...] >> >- The new attack code will sometimes produce the same kind of >> > unfortunate side effects as the ones I tried to fix in my patch to >> > 0.92.4: if your weapon is "improved" by getting some god's attack >> > type (e.g. weaponmagic and fear for God), it can become useless >> > against some monsters. >[...] >> Acid spheres are immune to weapon magic and fear, so at least in that >> regard, the program is running properly. I don't think acid spheres >> should be immune to weapon magic, but it stands now, the code is doing >the >> right thing. > >Hmmm... So this means that ORing the attack type with AT_FEAR and >AT_WEAPONMAGIC also removes the default physical attack? That could >explain a few things. I would need to look at that closer. But if you examine your weapon, what attacktypes are listed are the attack types it does. Thus, if it just says fear and weaponmagic, that is all it is doing. If it says physical fear and weaponmagic, then it does all three. If the god blessing code is removing the base attacktype, this is then a bug/feature of that code. >> I am guessing that the some mosnters are things like wyverns and drago >ns? >> Once again, if the attacktype is only fire, and the creature is immune >to fire, >> the code is doing the right thing. > >The "Essence of Flame" is actually a modified "bracers" archetype, which >should add the attack type "fire" as well as "physical" to your current >attack type (I just checked, it adds "physical", not only "fire" as I >wrote before). Well, in some cases it doesn't seem to work properly. I >will try again to see exactly in which cases it gives unexpected results. > >Now we also could discuss about the fairness of this item, because adding >AT_FIRE when you are already wielding a powerful weapon could be a bit >unfair (it also adds Path_Denied frost, but that is not much). Yeah - anything that modifies the attacktype outside of the weapon can make for some pretty powerful results (just thing if you also had bracers that did cold, fear, weaponmagic, etc. You could just have one great weapon and get whatever attacktype you wanted by equiping different bracers.) Am I correct in thinking this is an item from one of the Kunji maps? I noticed after rebuilding the spoiler with the additional archetyps that it seems that a lot of very powerful artifacts were added - things much more powerful than existed before. What do other people thing about the balance on these maps? I haven't played them myself (character I am currently working on is not high enough level.) > >> Perhaps make sure all weapons attack with at least physical? (note, to >do this >> in the code could be difficult, [...] > >Hmmm... Right, it would be much better (even if it would be a pain) >to change all archetypes for the weapons. If I understand correctly, >this would be the only way to get rid of the unfortunate side effect >that a weapon without any special attack type stops working when some >new attack type is added to it (because it doesn't default to the >"physical" attack as it did before the improvement). Am I right? I think so. I did a quick look through the weapon arch directory, and very few weapons actually have attacktype specified - this means that they default to physical. Generally, I think it is better for things to be specified in the archetypes than for the program to make various assumptions. I will see about fixing all of that up. >As I wrote to Brian in a separate message, setting the value of the >items to zero does not solve the problem. Even if they cannot be used >for making money, they can still be used for their "normal use". For >example, I can easily collect a few dozen potions of invulnerability >by sacrificing a few silver coins, foods, and various useless items. >Even if I cannot sell these potions, I can still use them. That is >why I suggested to Brian that the failure code for alchemy spell >should only create cursed items that have a nominal value (when not >cursed) which is less than the total value of the items that are in >the cauldron, without setting their value to zero artificially. >Otherwise, the items would always be too poweful (because one can >remove the curse easily). Note that this only applies to failed >formulae: there should be no limit for the value of the items in a >successful transformation. This makes sense. I think brian already sent me the fix for this. -- --Mark From owner-crossfire Fri Aug 30 16:48:35 1996 Return-Path: Received: from ceylon.informatik.uni-rostock.de (ceylon.informatik.uni-rostock.de [139.30.5.237]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Fri, 30 Aug 1996 16:48:34 +0200 Received: by ceylon.informatik.uni-rostock.de id QAA20466; Fri, 30 Aug 1996 16:48:32 +0200 Received: by honshu.informatik.uni-rostock.de id QAA08061; Fri, 30 Aug 1996 16:48:31 +0200 From: Jan Echternach Message-Id: <199608301448.QAA08061@honshu.informatik.uni-rostock.de> Subject: Bug in insert_ob_in_map() To: crossfire-bugs@ifi.uio.no Date: Fri, 30 Aug 1996 16:48:30 +0200 (MET DST) Reply-To: jan.echternach@informatik.uni-rostock.de (Jan Echternach) X-Mailer: ELM [version 2.4 PL24 ME7] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 4707 Status: RO Hi, I have found and fixed a bug in insert_ob_in_map() and insert_ob_in_map_simple() in common/object.c that caused the game to crash with "Trying to remove removed object.". check_walk_on() could be called when not all parts of a multipart object were inserted into the map. Consequently, if the object was moved or killed by check_walk_on() the object was removed, but not all parts were on the map at this time. You will find a map to easily reproduce this bug at the end of this mail. The dragon will be killed while it is not completely on the map. Another way is to shoot hundreds of bolts at the four dragonmans in /Lake_Country/Mwizard/Mwizard5 until a dragonman steps with his lower part on a bolt and attack_ob() calls process_object() which moves the dragonman who can't be moved because he is not completely on the map. Some system information: crossfire-0.92.5 PC Compatible, Pentium 133, 16MB RAM, 1GB HD Linux 2.0.15 X11R6.1 (XFree86 Version 3.1.2E) gcc version 2.7.2 (a.out, not ELF) Jan Echternach (jan.echternach@informatik.uni-rostock.de) -----snip----------------------------------------------------------------- *** object.c Fri Aug 30 15:42:11 1996 --- object.c-new Fri Aug 30 15:41:20 1996 *************** *** 1012,1023 **** if(!QUERY_FLAG(op,FLAG_REMOVED)) { dump_object(op); LOG(llevError,"Trying to insert (map) inserted object.\n%s\n", errmsg); return; } - if(op->more!=NULL) - insert_ob_in_map_simple(op->more,m); CLEAR_FLAG(op,FLAG_REMOVED); op->ox=op->x,op->oy=op->y; op->map=m; CLEAR_FLAG(op,FLAG_APPLIED); /* hack for fixing F_APPLIED in items of dead people */ CLEAR_FLAG(op, FLAG_INV_LOCKED); --- 1012,1021 ---- *************** *** 1080,1089 **** --- 1078,1089 ---- } } } else set_map_ob(op->map,op->x,op->y,op); /* Tell the map that we're here */ + if(op->more!=NULL) + insert_ob_in_map_simple(op->more,m); update_object(op); check_walk_on(op); if(QUERY_FLAG(op,FLAG_FREED)) /* check_walk_on() killed it */ return; if(op->type==PLAYER) *************** *** 1124,1135 **** if(!QUERY_FLAG(op,FLAG_REMOVED)) { dump_object(op); LOG(llevError,"Trying to insert (map) inserted object.\n%s\n", errmsg); return; } - if(op->more!=NULL) - insert_ob_in_map(op->more,m); CLEAR_FLAG(op,FLAG_REMOVED); if(op->nrof) for(tmp=get_map_ob(m,op->x,op->y);tmp!=NULL;tmp=tmp->above) if (CAN_MERGE(op,tmp)) { --- 1124,1133 ---- *************** *** 1212,1221 **** --- 1210,1221 ---- } } } else set_map_ob(op->map,op->x,op->y,op); /* Tell the map that we're here */ + if(op->more!=NULL) + insert_ob_in_map(op->more,m); update_object(op); check_walk_on(op); if(QUERY_FLAG(op,FLAG_FREED)) /* check_walk_on() killed it */ return; if(op->type==PLAYER) -----snip----------------------------------------------------------------- -----snip----------------------------------------------------------------- arch map name insert-bug msg Creator: Jan Echternach Email: jan.echternach@informatik.uni-rostock.de Date: Wed Aug 28 18:17:06 1996 endmsg hp 15 sp 15 end arch wall_0 y 2 end arch wall_0 y 5 end arch wall_0 x 2 y 2 end arch wall_0 x 2 y 5 end arch wall_0 x 4 y 2 end arch wall_0 x 4 y 5 end arch thorns dam 10 wc -20 x 5 y 4 lifesave 1 end arch wall_0 x 6 y 2 end arch grate_closed_2 x 6 y 3 connected 1 end arch grate_closed_2 x 6 y 4 connected 1 end arch wall_0 x 6 y 5 end arch button_lever x 6 y 6 connected 1 end arch wall_0 x 8 y 2 end arch wall_0 x 8 y 5 end arch wall_0 x 10 y 2 end arch wall_0 x 10 y 5 end arch wall_0 x 12 y 2 end arch wall_0 x 12 y 5 end arch sign msg Open the gates, and watch the bug! endmsg x 13 y 13 end arch wall_0 x 14 y 2 end arch wall_0 x 14 y 5 end arch oakdoor slaying /city/city hp 9 sp 10 x 14 y 14 end arch oakdoor slaying /city/city hp 9 sp 11 x 14 y 15 end arch oakdoor slaying /city/city hp 10 sp 10 x 15 y 14 end arch oakdoor slaying /city/city hp 10 sp 11 x 15 y 15 end arch big_dragon name weak dragon hp 1 maxhp 1 exp 5 dam 1 wc 10 ac 0 x 9 y 3 level 1 can_cast_spell 0 end More arch big_dragon_2 name weak dragon hp 1 maxhp 1 exp 5 dam 1 wc 10 x 10 y 3 level 1 end More arch big_dragon_3 name weak dragon hp 1 maxhp 1 exp 5 dam 1 wc 10 x 11 y 3 level 1 end More arch big_dragon_4 name weak dragon hp 1 maxhp 1 exp 5 dam 1 wc 10 x 9 y 4 level 1 end More arch big_dragon_5 name weak dragon hp 1 maxhp 1 exp 5 dam 1 wc 10 x 10 y 4 level 1 end More arch big_dragon_6 name weak dragon hp 1 maxhp 1 exp 5 dam 1 wc 10 x 11 y 4 level 1 end -----snip----------------------------------------------------------------- From owner-crossfire Fri Aug 30 09:38:41 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 30 Aug 1996 09:38:41 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Fri, 30 Aug 1996 09:38:37 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA01729; Fri, 30 Aug 96 03:39:24 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA03688; Fri, 30 Aug 96 03:38:33 EDT Date: Fri, 30 Aug 96 03:38:33 EDT From: "Brian Thomas" Message-Id: <9608300738.AA03688@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: magic/exp patch -- input.c Sender: owner-crossfire Precedence: bulk Status: RO Har. After all that searching, (at least part of) this bug turns out to be related to the use of the invoke command. Apparently, the call in command_cast_spell to check_skill_to_fire was assuming that the invoked spell was *already* in the op->ready_spell slot. It wasnt, AND, thus if you had readied a spell of a different type (ie MAGE/PRIEST) then invoked a spell of the opposite type, you would ready the wrong skill, which would result in no exp gain. The reason it took me so long to find this problem-- I never use invoke! So anyway, here is a simple patch to input.c. Please report if this does/doesnt fix the problem to the list. THanks! -b.t. *** ../../tarfiles/crossfire-0.92.5/server/input.c Wed Jul 24 03:45:50 1996 --- ./input.c Fri Aug 30 03:31:39 1996 *************** *** 994,1007 **** --- 994,1015 ---- if (!strncmp(params, spells[spnum].name, strlen(params))) { rangetype orig_rangetype=op->contr->shoottype; op->contr->shoottype=range_magic; #ifdef ALLOW_SKILLS if(op->type==PLAYER&&!QUERY_FLAG(op,FLAG_WIZ)) { + /* if we don't change to the correct spell numb, + * check_skill_to_fire will be confused as to which + * spell casting skill to ready for the player! + * I set the code to change back to the old spellnum + * after we check, but is this really needed?? -b.t. */ + int orig_spn = op->contr->chosen_spell; + op->contr->chosen_spell=spnum; if(!check_skill_to_fire(op)) { op->contr->shoottype=orig_rangetype; return 0; } + op->contr->chosen_spell=orig_spn; } #endif if (castnow) { int value; From owner-crossfire Fri Aug 30 09:15:10 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Fri, 30 Aug 1996 09:15: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 ; Fri, 30 Aug 1996 09:15:06 +0200 Received: (from thomas@localhost) by xplorer.gsfc.nasa.gov (LHEA9504/950407.s1) id DAA04617 for crossfire@ifi.uio.no; Fri, 30 Aug 1996 03:15:04 -0400 Date: Fri, 30 Aug 1996 03:15:04 -0400 From: Brian Thomas Message-Id: <199608300715.DAA04617@xplorer.gsfc.nasa.gov> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: experience bug -- help needed! Sender: owner-crossfire Precedence: bulk Status: RO Hi all. I have been having trouble tracing down the magic/experience bug (where your character no longer gains xp for killing stuff with magic). My main problem -- I can't seem to make this bug occur! So please would someone out there who is experiencing this bug in version 0.92.5, PLEASE tell me how you get into this situation (if you know). Thanks, -b.t. From owner-crossfire Tue Aug 27 21:39:57 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 21:39:57 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 21:39:53 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA15389; Tue, 27 Aug 96 15:40:41 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA08673; Tue, 27 Aug 96 15:39:50 EDT Date: Tue, 27 Aug 96 15:39:50 EDT From: "Brian Thomas" Message-Id: <9608271939.AA08673@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: repost: apply.c patch for alchemy fix Sender: owner-crossfire Precedence: bulk Status: RO *** ../../tarfiles/crossfire-0.92.5/server/apply.c Wed Jul 24 03:45:49 1996 --- ./apply.c Tue Aug 27 14:09:00 1996 *************** *** 234,244 **** fix_player(op); return 1; } /* Only thing left are the stat potions */ ! if(QUERY_FLAG(tmp, FLAG_CURSED) || QUERY_FLAG(tmp, FLAG_DAMNED)) CLEAR_FLAG(tmp, FLAG_APPLIED); else SET_FLAG(tmp, FLAG_APPLIED); if(!change_abil(op,tmp)) new_draw_info(NDI_UNIQUE,0,op,"Nothing happened."); --- 234,245 ---- fix_player(op); return 1; } /* Only thing left are the stat potions */ ! if((QUERY_FLAG(tmp, FLAG_CURSED) || QUERY_FLAG(tmp, FLAG_DAMNED)) ! && tmp->value!=0) CLEAR_FLAG(tmp, FLAG_APPLIED); else SET_FLAG(tmp, FLAG_APPLIED); if(!change_abil(op,tmp)) new_draw_info(NDI_UNIQUE,0,op,"Nothing happened."); From owner-crossfire Tue Aug 27 20:20:42 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 20:20:42 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 20:20:38 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA14893; Tue, 27 Aug 96 14:21:26 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA05709; Tue, 27 Aug 96 14:20:36 EDT Date: Tue, 27 Aug 96 14:20:36 EDT From: "Brian Thomas" Message-Id: <9608271820.AA05709@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: alchemy.c diff (the FINAL one). Sender: owner-crossfire Precedence: bulk Status: RO *** ../../tarfiles/crossfire-0.92.5/server/alchemy.c Wed Jul 24 03:45:49 1996 --- ./alchemy.c Tue Aug 27 14:10:49 1996 *************** *** 346,374 **** /* special stuff for consumables */ if(tmp->type==POTION||tmp->type==FOOD) { if(tmp->stats.sp&&RANDOM()%2) /* drains magic */ tmp->stats.sp = SP_REGENERATE_SPELLPOINTS; if(RANDOM()%2) { /* poisonous */ tmp->type=FOOD; tmp->stats.hp=RANDOM()%150; } } ! /* change stats downward */ ! if(tmp->type!=FOOD) ! do { ! change_attr_value(&tmp->stats,RANDOM()%6,-1*RANDOM()%3); ! } while (RANDOM()%3); } return; } if(level==40) { /* MAKE RANDOM RECIPE */ recipelist *fl; int numb=numb_ob_inside(cauldron); ! fl=get_formulalist(numb); if(fl &&(rp=get_random_recipe(fl))) (void) attempt_recipe(op,cauldron,rp); else alchemy_failure_effect(op,cauldron,rp,level-1); return; --- 346,377 ---- /* special stuff for consumables */ if(tmp->type==POTION||tmp->type==FOOD) { if(tmp->stats.sp&&RANDOM()%2) /* drains magic */ tmp->stats.sp = SP_REGENERATE_SPELLPOINTS; + else + tmp->stats.sp = 0; /* so it can drain stats */ if(RANDOM()%2) { /* poisonous */ tmp->type=FOOD; tmp->stats.hp=RANDOM()%150; } } ! tmp->value = 0; /* unsaleable item */ ! ! /* change stats downward */ ! do { ! change_attr_value(&tmp->stats,RANDOM()%7,-1*(RANDOM()%3+1)); ! } while (RANDOM()%3); } return; } if(level==40) { /* MAKE RANDOM RECIPE */ recipelist *fl; int numb=numb_ob_inside(cauldron); ! fl=get_formulalist(numb-1); /* take a lower recipe list */ if(fl &&(rp=get_random_recipe(fl))) (void) attempt_recipe(op,cauldron,rp); else alchemy_failure_effect(op,cauldron,rp,level-1); return; From owner-crossfire Tue Aug 27 20:20:04 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 20:20:04 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 20:20:00 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA14889; Tue, 27 Aug 96 14:20:48 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA05705; Tue, 27 Aug 96 14:19:58 EDT Date: Tue, 27 Aug 96 14:19:58 EDT From: "Brian Thomas" Message-Id: <9608271819.AA05705@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: apply.c diff for alchemy patch Sender: owner-crossfire Precedence: bulk Status: RO *** ../../tarfiles/crossfire-0.92.5/server/apply.c Wed Jul 24 03:45:49 1996 --- ./apply.c Tue Aug 27 14:09:00 1996 *************** *** 234,244 **** fix_player(op); return 1; } /* Only thing left are the stat potions */ ! if(QUERY_FLAG(tmp, FLAG_CURSED) || QUERY_FLAG(tmp, FLAG_DAMNED)) CLEAR_FLAG(tmp, FLAG_APPLIED); else SET_FLAG(tmp, FLAG_APPLIED); if(!change_abil(op,tmp)) new_draw_info(NDI_UNIQUE,0,op,"Nothing happened."); --- 234,245 ---- fix_player(op); return 1; } /* Only thing left are the stat potions */ ! if((QUERY_FLAG(tmp, FLAG_CURSED) || QUERY_FLAG(tmp, FLAG_DAMNED)) ! && tmp->value!=0) CLEAR_FLAG(tmp, FLAG_APPLIED); else SET_FLAG(tmp, FLAG_APPLIED); if(!change_abil(op,tmp)) new_draw_info(NDI_UNIQUE,0,op,"Nothing happened."); From owner-crossfire Tue Aug 27 20:18:32 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 20:18:32 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 20:18:26 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA14838; Tue, 27 Aug 96 14:19:14 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA05686; Tue, 27 Aug 96 14:18:23 EDT Date: Tue, 27 Aug 96 14:18:23 EDT From: "Brian Thomas" Message-Id: <9608271818.AA05686@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: ouch, alchemy patch take II. Sender: owner-crossfire Precedence: bulk Status: RO I seem to be doing this alot lately..*sigh*. Ok , I see why the older alchemy code made such worthwhile items, even when they were cursed. I had to further modify alchemy.c AND make a small patch in apply.c. THIS code should fix the problem. Both patches will be mailed separately to crossfire.ifi.uio.no. -b.t. From owner-crossfire Tue Aug 27 20:05:40 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 20:05:40 +0200 Received: from nexus.astro.psu.edu (nexus.astro.psu.edu [128.118.147.20]) by ifi.uio.no with SMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 20:05:36 +0200 Received: from zaphod.astro.psu.edu by nexus.astro.psu.edu (4.1/Nexus-1.3) id AA14756; Tue, 27 Aug 96 14:06:15 EDT Received: by zaphod.astro.psu.edu (4.1/Client-1.3) id AA05580; Tue, 27 Aug 96 14:05:25 EDT Date: Tue, 27 Aug 96 14:05:25 EDT From: "Brian Thomas" Message-Id: <9608271805.AA05580@zaphod.astro.psu.edu> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: CF: alchemy patch Sender: owner-crossfire Precedence: bulk Status: RO This is a patch for Raphael's alchemy bug. Now, if a backfire generates an item, its value will be made to 0 (unsaleable) AND, it is more likely that you will decrease your stats by using the item (in the case of POTIONS, the decrease is PERMANENT). Stat loss was a possibility before, I just increased the amount of stats you can lose. It is still possible (33% chance, opps 25%) that you can create a cursed potion that wont decrease your stats when you use it. -b.t. *** ../../tarfiles/crossfire-0.92.5/server/alchemy.c Wed Jul 24 03:45:49 1996 --- ./alchemy.c Tue Aug 27 13:58:28 1996 *************** *** 352,374 **** tmp->type=FOOD; tmp->stats.hp=RANDOM()%150; } } ! /* change stats downward */ ! if(tmp->type!=FOOD) ! do { ! change_attr_value(&tmp->stats,RANDOM()%6,-1*RANDOM()%3); ! } while (RANDOM()%3); } return; } if(level==40) { /* MAKE RANDOM RECIPE */ recipelist *fl; int numb=numb_ob_inside(cauldron); ! fl=get_formulalist(numb); if(fl &&(rp=get_random_recipe(fl))) (void) attempt_recipe(op,cauldron,rp); else alchemy_failure_effect(op,cauldron,rp,level-1); return; --- 352,375 ---- tmp->type=FOOD; tmp->stats.hp=RANDOM()%150; } } ! tmp->value = 0; /* unsaleable item */ ! ! /* change stats downward */ ! do { ! change_attr_value(&tmp->stats,RANDOM()%7,-1*(RANDOM()%3+1)); ! } while (RANDOM()%3); } return; } if(level==40) { /* MAKE RANDOM RECIPE */ recipelist *fl; int numb=numb_ob_inside(cauldron); ! fl=get_formulalist(numb-1); /* take a lower recipe list */ if(fl &&(rp=get_random_recipe(fl))) (void) attempt_recipe(op,cauldron,rp); else alchemy_failure_effect(op,cauldron,rp,level-1); return; From owner-crossfire Tue Aug 27 13:35:20 1996 Return-Path: Received: (from mdomo@localhost) by ifi.uio.no (8.6.11/ifi2.4) id for crossfire-ut ; Tue, 27 Aug 1996 13:35:20 +0200 Received: from glacier.wise.edt.ericsson.se (glacier-ext.wise.edt.ericsson.se [193.180.251.38]) by ifi.uio.no with ESMTP (8.6.11/ifi2.4) id for ; Tue, 27 Aug 1996 13:35:15 +0200 Received: from chapelle.eed.ericsson.se (chapelle.eed.ericsson.se [164.48.132.130]) by glacier.wise.edt.ericsson.se (8.7.5/8.7.3/glacier-0.9) with ESMTP id NAA05731 for ; Tue, 27 Aug 1996 13:35:13 +0200 (MET DST) Received: (from eedraq@localhost) by chapelle.eed.ericsson.se (8.7.1/8.7.1) id NAA22435 for crossfire@ifi.uio.no; Tue, 27 Aug 1996 13:35:12 +0200 (MET DST) Date: Tue, 27 Aug 1996 13:35:12 +0200 (MET DST) Message-Id: <199608271135.NAA22435@chapelle.eed.ericsson.se> Mime-Version: 1.0 To: crossfire@ifi.uio.no Subject: Re: CF: Experience awards with skills, map design From: Raphael.Quinet@eed.ericsson.se Sender: owner-crossfire Precedence: bulk Status: RO On Tue, 27 Aug 1996, Niilo Paasivirta wrote: [...] > > Hmm. In this case the Jessy should be *attacking* the stealer! > > He _is_! However, if one has Ring of Life, he doesn't actually do > much damage. Hmmm... If one has the Ring of Life _and_ immunity to electricity, immunity to attack, immunity to fire and immunity to cold, then yes, it is easy to stay near Jessy. If you are not immune to these attacks, then I wonder how you can survive. Unless you removed the ability for Jessy to cast spells... [...] > Well, there is one "minor" thing: the Cauldron. > > Weight is 80. But that's nothing, because an INFINITE amount of stuff > can be inserted into it. > > *** AND, IT STILL WEIGHS 80 ALL THE TIME!!! *** Oops! I had not noticed that. Major bug indeed! I just tried to put all my useless equipment in a cauldron and now I am much lighter, although I am still carrying the same amount. That should definitely be fixed. > There is also "Cauldron of Holding", but it doesn't seem to do > anything more (what more could it do anyway :). Right. Currently, the cauldron doesn't seem to have a weight limit, so that doesn't make any difference. What could a "Cauldron of Holding" be used for, anyway? I am now carrying a "cauldron +3", which weights only 56. Much lighter than the normal cauldron, and I can carry as much as I want while still running at top speed. Hmmm... Is that fair? -Raphael