From owner-crossfire Tue Oct 6 20:55:45 1992 Received: by ifi.uio.no id ; Tue, 6 Oct 1992 20:55:51 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Tue, 6 Oct 1992 20:55:45 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA11987; Tue, 6 Oct 92 15:55:42 -0400 To: crossfire@ifi.uio.no Subject: Problem with save game feature Date: Tue Oct 06 15:50:25 1992 From: Pat Place Phone: (412) 268 7746 Organization: Software Engineering Institute Message-Id: <9210061555.dujid.prp@SEI> Status: RO The save game feature is really nice, but as it is currently implemented it seems to unbalance the game somewhat. If I clear out, say the brown house which I consider to be one of the easier levels and then save the game all is well. However, when I return to the game, I can go back to the brown house and can clear it out again. Gaining more experience as I do so. Worse, though is that if I kill off the grimreaper each time, I can essentially get an infinite supply of potions, thus raising stats rapidly. I realise that the whole issue of game saving is problematic, and I certainly don't have any idea what the right solution should be, but I do think that the current approach isn't quite right. Pat Place prp@sei.cmu.edu From owner-crossfire Fri Oct 16 18:11:21 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 18:11:25 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 18:11:21 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA24620; Fri, 16 Oct 92 13:11:16 -0400 To: crossfire@ifi.uio.no Subject: Re: multiple artifacts Date: Fri Oct 16 13:08:25 1992 From: Pat Place Phone: (412) 268 7746 Organization: Software Engineering Institute Message-Id: <9210161311.dukup.prp@SEI> Status: RO Another way of dealing with multiple artifacts might be to disallow a player who has an artifact that already exists in a particular game (whether it has been found or not) to join that game. Thus, players with multiple artifacts will find it harder to get into games unless they start their own, or discard the artifact. Pat Place prp@sei.cmu.edu From owner-crossfire Thu Oct 29 06:48:29 1992 Received: by ifi.uio.no id ; Thu, 29 Oct 1992 17:50:33 +0100 Return-Path: Received: from PO3.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 29 Oct 1992 17:50:24 +0100 Received: by po3.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 29 Oct 92 11:50:16 EST Received: via switchmail; Thu, 29 Oct 1992 11:50:13 -0500 (EST) Received: from sinope.esl.acs.cmu.edu via qmail ID ; Thu, 29 Oct 1992 11:48:38 -0500 (EST) Received: from sinope.esl.acs.cmu.edu via qmail ID ; Thu, 29 Oct 1992 11:48:30 -0500 (EST) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.sinope.esl.acs.cmu.edu.pmax.ul4 via MS.5.6.sinope.esl.acs.cmu.edu.pmax_ul4; Thu, 29 Oct 1992 11:48:29 -0500 (EST) Message-Id: Date: Thu, 29 Oct 1992 11:48:29 -0500 (EST) From: "Eric A. Anderson" To: crossfire@ifi.uio.no Subject: Re: random thoughts Cc: dan@unipress.com In-Reply-To: <9210291226.AA17132@repo.unipress.com> References: <9210291226.AA17132@repo.unipress.com> Status: RO joe@unipress.com writes: [pixmaps] How fast are they in comparison to fonts? I've heard that fonts are better because they optimized for this. [client server model] I'd say the move should be made before 1.0. I am not convinced it will happen unless the change is made before then. [ saved map state ] Easily done, look in /tmp or /usr/tmp while you're playing, it's saving game state there. Change it so that in this special mode it puts them somewhere else, and doesn't clear out the tmp files when it's done. > This would make team play possible ... What? How would saved map state make team play possible. > Anyway these are all just ramblings, and I hope they don't sound too negative > or discouraging. Crossfire remains a very good game. Agreed. It's a really cool game. -Eric ********************************************************* "Overhead, without any fuss, the stars were going out." -The Nine Billion Names of God "Yes, you're very smart. Shut up." -In "The Princess Bride" ********************************************************* From owner-crossfire Thu Oct 29 02:25:58 1992 Received: by ifi.uio.no id ; Thu, 29 Oct 1992 13:26:26 +0100 Return-Path: Received: from remus.rutgers.edu by ifi.uio.no with SMTP id ; Thu, 29 Oct 1992 13:26:20 +0100 Received: from unipress-link.rutgers.edu by remus.rutgers.edu (5.59/SMI4.0/RU1.5/3.08) id AA28384; Thu, 29 Oct 92 07:26:08 EST Received: from dot.UniPress.COM by repo.unipress.com (4.1/SMI-4.1/UniPress121791.1) id AA17132; Thu, 29 Oct 92 07:26:02 EST via Message-Id: <9210291226.AA17132@repo.unipress.com> To: crossfire@ifi.uio.no Cc: dan@unipress.com Subject: random thoughts Date: Thu, 29 Oct 92 07:25:58 -0500 From: joe@unipress.com Status: RO These are some random thoughts we had after having played crossfire for an evening, examining the source code a little, and reading some of the archived mail. 1) Pixmaps. A big win. The amount of speed lost in overhead here from using the font is negligible. We've written programs which do highly interactive graphics in the grid-like way crossfire does, and pixmaps were just fine. Of course, rendering speed would be even less of a concern if crossfire used a client and a server (see below), since then the one crossfire process wouldn't have all the rendering load. In other words, it is concievable that the protocol the game server sends to the clients would be shorter than the protocol the game clients would send to the X server, and the I/O load would therefore be better distributed across the various machines playing. Storing all of the pixmaps on disk in separate files really isn't an issue either. You either "suffer" with a lot of files (big deal) or go ahead and store them all in one file anyway and write a hacked version of the pixmap reader to go and get them all at game startup -- much like using a font, only less reuse of Xlib code. This is not a very difficult problem. 2) Client-server model. I strongly suggest that you make this move as early after v1.0 as possible. There are plenty of GREAT X games which really want to have a player side and a server side, but have never gotten that far. These include XTank, XConq, and XBattle -- three of the most (if not THE most) popular multi-player X games. XTank is in version 5, XConq version 7, and XBattle version 2 (last I checked). In all of these cases, we suffer away with one process serving the entire game, where really each player should be running their own display program that talks to a central game server. It would be a shame, IMHO, if this happened again here. 3) Saved map state. One feature we'd like to see is the possibility of certain maps not losing their state after the game ends. That is, if we ream out the bakery, and the game is started in the right mode, then it will store the fact that the bakery is clear for the next game. Maybe players could be "tied" to a certain game. If they leave a certain game, then all the artifacts or special items they have leave them. This would make team play possible ... Anyway these are all just ramblings, and I hope they don't sound too negative or discouraging. Crossfire remains a very good game. --joe From owner-crossfire Wed Oct 28 20:06:15 1992 Received: by ifi.uio.no id ; Thu, 29 Oct 1992 07:07:03 +0100 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 29 Oct 1992 07:07:00 +0100 Received: by po5.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 29 Oct 92 01:06:54 EST Received: via switchmail; Thu, 29 Oct 1992 01:06:52 -0500 (EST) Received: from sinope.esl.acs.cmu.edu via qmail ID ; Thu, 29 Oct 1992 01:06:35 -0500 (EST) Received: from sinope.esl.acs.cmu.edu via qmail ID ; Thu, 29 Oct 1992 01:06:16 -0500 (EST) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.sinope.esl.acs.cmu.edu.pmax.ul4 via MS.5.6.sinope.esl.acs.cmu.edu.pmax_ul4; Thu, 29 Oct 1992 01:06:15 -0500 (EST) Message-Id: Date: Thu, 29 Oct 1992 01:06:15 -0500 (EST) From: "Eric A. Anderson" To: crossfire@ifi.uio.no Subject: New maps Status: RO I've created three mazes and a jump of place for them. They've appeared as zanzebar.tar.Z in crossfire/incoming. Try them out, see what you think. I expect to make some more to give higher level characters a challenge in the future. I added a boat on map 1 to get to them, you can see where the boat should be by applying the boat back in zanzebar. You could also change the links so it was connected to the well on map 4. -Eric ********************************************************* "Overhead, without any fuss, the stars were going out." -The Nine Billion Names of God "Yes, you're very smart. Shut up." -In "The Princess Bride" ********************************************************* From owner-crossfire Tue Oct 27 10:45:56 1992 Received: by ifi.uio.no id ; Tue, 27 Oct 1992 21:48:35 +0100 Return-Path: Received: from eos05a.eos.ncsu.edu by ifi.uio.no with SMTP id ; Tue, 27 Oct 1992 21:47:39 +0100 Received: from c00032-118dan.eos.ncsu.edu by eos05a.eos.ncsu.edu (5.65b/eos-server.920426) id AA06111; Tue, 27 Oct 92 15:46:19 -0500 Posted-Date: Tue, 27 Oct 92 15:45:56 EST Received: by c00032-118dan.eos.ncsu.edu (5.57/eos-client.920428) id AA14228; Tue, 27 Oct 92 15:46:04 -0500 Message-Id: <9210272046.AA14228@c00032-118dan.eos.ncsu.edu> To: mel1@acpub.duke.edu (Douglas Melamed) Cc: jhammond@acpub.duke.edu, joshua@acpub.duke.edu, busey@acpub.duke.edu, si@acpub.duke.edu, judym@acpub.duke.edu, wildcat@aol.com, IO10081@maine.maine.edu, ds4@acpub.duke.edu, wbuch@acpub.duke.edu, agomma@worf.poly.edu, crossfire@ifi.uio.no Date: Tue, 27 Oct 92 15:45:56 EST From: jecoleb@eos.ncsu.edu Status: RO Subject: Re: Sorry guys, I'm superstitious, anyways it's amusing. Page Down. In-reply-to: Your message of Wed, 21 Oct 92 21:10:18 -0400. <9210220110.AA05580@soc16.acpub.duke.edu> -------- Well, since I'm not a believer in chain letters, and ESPECIALLY ones that promise hot greasy monkey sex, here's a bit of a counter-proposition for such situations... Use it in good health. ----------------------------------------------------------------- From: dhoward@desire.wright.edu (sparky: longing for sahuarita) Subject: valentine to beat all valentines ----------------------------------------------------------------- A VALENTINE The gentleman from whom you received this valentine finds you stunningly attractive. You occupy his thoughts during the idle moments of his day. You are his Aphrodite of inspiration. You are hereby requested to let him down in no uncertain terms, as he, jaded by age, desperation and ill experiences, is in severe need of a reality check. Please detach the bottom portion of this form, mark the appropriate blank(s), and return it to him at the address below. Address: _____________________________ _____________________________ _____________________________ ----------------------------------------------------------------- (detach here) ___ Get lost. ___ You'd do better looking for a date ___ Go crawl back under in a retirement the rock from whence home. you came. ___ Meet me in the ___ You make me sick, you parking lot later abhorrent cow-felching so that I can watch geek. my boyfriend and his buddies pummel your ___ Let's do lunch so that face. I, for lack of words, can demonstrate my ___ Other, (specify): feelings by vomiting ________________________ on the table. ________________________ From owner-crossfire Fri Oct 23 05:19:37 1992 Received: by ifi.uio.no id ; Fri, 23 Oct 1992 01:19:14 +0100 Return-Path: Received: from yarra-glen.aaii.oz.au (aaii_slip.aaii.oz.AU) by ifi.uio.no with SMTP id ; Fri, 23 Oct 1992 01:19:07 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA09408; Fri, 23 Oct 1992 11:18:57 +1100 From: Rupert G. Goldie Message-Id: <199210230018.AA09408@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA07700; Fri, 23 Oct 92 10:19:37 EST Date: Fri, 23 Oct 92 10:19:37 EST To: crossfire@ifi.uio.no Subject: Re: Dread Status: RO > From: Pat Place > > I have a simple question. Is it possible to kill dread by > hitting it? If so, how? I was certainly patient and hit the > thing *many* times yet nothing seemed to happen. While we're talking about dreads, has anyone else noticed there is a dread generator bitmap 8) Anyone feel brave enough to inflict that horror upon us ! -Rupert From owner-crossfire Fri Oct 23 05:16:23 1992 Received: by ifi.uio.no id ; Fri, 23 Oct 1992 01:16:02 +0100 Return-Path: Received: from yarra-glen.aaii.oz.au (aaii_slip.aaii.oz.AU) by ifi.uio.no with SMTP id ; Fri, 23 Oct 1992 01:15:51 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA08892; Fri, 23 Oct 1992 11:15:42 +1100 From: Rupert G. Goldie Message-Id: <199210230015.AA08892@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA07694; Fri, 23 Oct 92 10:16:23 EST Date: Fri, 23 Oct 92 10:16:23 EST To: crossfire@ifi.uio.no Subject: Re: core dump Status: RO > From: joe@unipress.com > Also, forgot to mention that I get core dumps; > > () at 0x35004 > add_string(str = (nil)), line 111 in "shstr.c" > attack_ob(op = 0xbf598, hitter = 0xc4574), line 310 in "main.c" > move_monster(op = 0xc4574), line 475 in "main.c" > process_events(), line 1776 in "main.c" > main(argc = 1, argv = 0xf7fffab4, env = 0xf7fffabc), line 2018 in "main.c" > > Obviously, add_string isn't prepared to deal with null pointers. Perhaps all > this needs is an if (!str) return;. > > --joe We have had exactly the same problem. Detailed investigation showed that a corrupted object somehow got onto the friendly_object_list and when a monster searched for a friendly object to hit, it barfed on the null name. A quick peek at the 0.88 beta code shows that there is a check in there for null names. I still don't know how the corrupt object gets onto the list though 8( [sidebar: xups is a _great_ debugger for exploring data structures in your code, if you haven't used it, it is well worth having a look at] -Rupert From anthony@aaii.oz.au Sat Oct 24 11:54:40 1992 Return-Path: Received: from yarra-glen.aaii.oz.au (aaii_slip.aaii.oz.AU) by ifi.uio.no with SMTP id ; Fri, 23 Oct 1992 14:55:19 +0100 Received: from idyll.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA17669; Sat, 24 Oct 1992 00:54:43 +1100 Message-Id: <199210231354.AA17669@yarra-glen.aaii.oz.au> To: Frank Tore Johansen Cc: crossfire@ifi.uio.no Subject: Re: Dread In-Reply-To: Your message of "Thu, 22 Oct 92 14:30:29 BST." <199210221330.AAyrsa23073@yrsa.ifi.uio.no> Date: Sat, 24 Oct 92 00:54:40 +1100 From: Anthony Baxter Status: RO In message <199210221330.AAyrsa23073@yrsa.ifi.uio.no> you write: > (Coming to a workstation near you in the near future: The Famous Rustmonster! > -Frank. And the famous 'Which monster would you like to genocide?' scroll? :-) :-) (go for the R's, every time :) -- anthony baxter australian artificial intelligence institute email : anthony@aaii.oz.au 1 grattan st, carlton, australia 3053 phone : +613 663 7922 From owner-crossfire Sat Oct 24 11:54:40 1992 Received: by ifi.uio.no id ; Fri, 23 Oct 1992 14:55:52 +0100 Return-Path: Received: from yarra-glen.aaii.oz.au (aaii_slip.aaii.oz.AU) by ifi.uio.no with SMTP id ; Fri, 23 Oct 1992 14:55:19 +0100 Received: from idyll.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA17669; Sat, 24 Oct 1992 00:54:43 +1100 Message-Id: <199210231354.AA17669@yarra-glen.aaii.oz.au> To: Frank Tore Johansen Cc: crossfire@ifi.uio.no Subject: Re: Dread In-Reply-To: Your message of "Thu, 22 Oct 92 14:30:29 BST." <199210221330.AAyrsa23073@yrsa.ifi.uio.no> Date: Sat, 24 Oct 92 00:54:40 +1100 From: Anthony Baxter Status: RO In message <199210221330.AAyrsa23073@yrsa.ifi.uio.no> you write: > (Coming to a workstation near you in the near future: The Famous Rustmonster! > -Frank. And the famous 'Which monster would you like to genocide?' scroll? :-) :-) (go for the R's, every time :) -- anthony baxter australian artificial intelligence institute email : anthony@aaii.oz.au 1 grattan st, carlton, australia 3053 phone : +613 663 7922 From owner-crossfire Thu Oct 22 13:54:23 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 22:54:46 +0100 Return-Path: Received: from soc15.acpub.duke.edu by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 22:54:41 +0100 Received: by soc15.acpub.duke.edu (5.65/Ultrix3.0-C) id AA07524; Thu, 22 Oct 92 17:54:23 -0400 Date: Thu, 22 Oct 92 17:54:23 -0400 From: mel1@acpub.duke.edu (Douglas Melamed) Message-Id: <9210222154.AA07524@soc15.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: Okay okay I apologize. Status: RO please stop with the flames already, wasting more bandwith that I did. Sorry, it won't happen again. etc etc. Just thought you might find it amusing. Anyway, I officially apologize, don't send me any more mail :) From owner-crossfire Thu Oct 22 06:46:14 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 15:48:32 +0100 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 15:48:11 +0100 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 22 Oct 92 10:47:47 EDT Received: via switchmail; Thu, 22 Oct 1992 10:47:46 -0400 (EDT) Received: from pcs8.andrew.cmu.edu via qmail ID ; Thu, 22 Oct 1992 10:46:30 -0400 (EDT) Received: from pcs8.andrew.cmu.edu via qmail ID ; Thu, 22 Oct 1992 10:46:17 -0400 (EDT) Received: from mms.0.1.23.EzMail.PC.2.0.CUILIB.3.45.SNAP.NOT.LINKED.pcs8.andrew.cmu.edu.pmax.ul4 via MS.5.6.pcs8.andrew.cmu.edu.pmax_ul4; Thu, 22 Oct 1992 10:46:14 -0400 (EDT) Message-Id: <4etfuqC00WBME2AP5I@andrew.cmu.edu> Date: Thu, 22 Oct 1992 10:46:14 -0400 (EDT) From: David Reeve Sward To: crossfire@ifi.uio.no Subject: Re: Dread Cc: In-Reply-To: <199210221330.AAyrsa23073@yrsa.ifi.uio.no> Status: RO Excerpts from internet.crossfire: 22-Oct-92 Re: Dread by Frank Tore Johansen@ifi. > (Coming to a workstation near you in the near future: The Famous > Rustmonster!) Nooooooooo!!!!!!!! (Howls of anguish echo throughout the forest as half-naked adventurers run screaming from the dungeons....) From frankj Thu Oct 22 14:30:29 1992 Subject: Re: Dread To: crossfire@ifi.uio.no Date: Thu, 22 Oct 1992 14:30:29 +0100 In-Reply-To: <9210220913.dulub.prp@SEI>; from "Pat Place" at Oct 22, 92 9:11 am X-Mailer: ELM [version 2.3 PL11] Status: RO > I have a simple question. Is it possible to kill dread by > hitting it? If so, how? I was certainly patient and hit the > thing *many* times yet nothing seemed to happen. Depends on what version you have. If you have a pre-release of 0.88, many monsters, including Dread, regenerates hit-points. Still possible to kill him, but not by the average adventurer... 8) In my opinion, there ought to be some monsters in the game from which you run in panic when you see them. The game isn't the same without those adrealine boosters 8) (Coming to a workstation near you in the near future: The Famous Rustmonster!) -Frank. From frankj Thu Oct 22 14:00:08 1992 Subject: Re: making maps To: crossfire@ifi.uio.no Date: Thu, 22 Oct 1992 14:00:08 +0100 In-Reply-To: <9210221053.AA23522@repo.unipress.com>; from "joe@unipress.com" at Oct 22, 92 6:53 am X-Mailer: ELM [version 2.3 PL11] Status: RO > The crossfire man page is pretty vague about how to make maps and levels. Can > somebody tell me how to set the text shown when a small button is stepped on? > What if I want to make new archetypes? That text is the name of the object. You can change the name by clicking on the object with the middle mouse button and then clicking on the place in the rightmost window where the name is displayed. You can then type in a new name, followed by . Making a new archetype should be fairly trivial. But suggested reading before doing so should be the original archetype-file. I haven't made any docs on the different variables that can be used, but most should be self-explanatory. Among those who aren't: To find what value you should use after the "protected" (half damage), "vulnerable" (double damage) or "immune" (no damage) in an object, type "grep AT_ define.h" to list the different attack-methods. You can add any of those numbers to get a combination that suits you. Oh yes...those numbers are written in hex, but the archetype file only understands (or will only understand in the future) base 10 numbers. Experiment, and feel free to ask for an explanation of some variables if you are uncurtain. -Frank. From frankj Thu Oct 22 13:51:54 1992 Subject: Re: Sorry guys, I'm superstitious, anyways it's amusing. Page Down. To: crossfire@ifi.uio.no Date: Thu, 22 Oct 1992 13:51:54 +0100 In-Reply-To: <9210220110.AA05580@soc16.acpub.duke.edu>; from "Douglas Melamed" at Oct 21, 92 9:10 pm X-Mailer: ELM [version 2.3 PL11] Status: RO Don't send chain letters to this mailing-list no matter how funny they might be. Thank you. -Frank. From owner-crossfire Thu Oct 22 14:01:05 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 13:01:08 +0100 Return-Path: Received: from hnoss.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 13:01:07 +0100 From: Kjetil Torgrim Homme Received: by hnoss.ifi.uio.no ; Thu, 22 Oct 1992 13:01:05 +0100 Date: Thu, 22 Oct 1992 13:01:05 +0100 Message-Id: <199210221201.AAhnoss.ifi.uio.no15869@hnoss.ifi.uio.no> To: crossfire@ifi.uio.no In-Reply-To: joe@unipress.com's message of Thu, 22 Oct 92 07:06:35 -0400 <9210221106.AA23541@repo.unipress.com> Subject: Re: core dump Status: RO joe@unipress.com wrote: > Also, forgot to mention that I get core dumps; > > () at 0x35004 > add_string(str = (nil)), line 111 in "shstr.c" > attack_ob(op = 0xbf598, hitter = 0xc4574), line 310 in "main.c" > move_monster(op = 0xc4574), line 475 in "main.c" > process_events(), line 1776 in "main.c" > main(argc = 1, argv = 0xf7fffab4, env = 0xf7fffabc), line 2018 in "main.c" > > Obviously, add_string isn't prepared to deal with null pointers. Perhaps all > this needs is an if (!str) return;. When I wrote shstr.c, I asked Frank if I should add in that sanity check. He said that if I was passed a NULL, something so seriously wrong had happened that he wanted a core dump to look at :-) Most core dumps happen in add_string() or free_string(). Kjetil T. From owner-crossfire Thu Oct 22 03:06:35 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 12:08:45 +0100 Return-Path: Received: from gyda.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 12:08:43 +0100 Received: from remus.rutgers.edu by gyda.ifi.uio.no ; Thu, 22 Oct 1992 12:08:41 +0100 Received: from unipress-link.rutgers.edu by remus.rutgers.edu (5.59/SMI4.0/RU1.5/3.08) id AA27228; Thu, 22 Oct 92 07:06:39 EDT Received: from dot.UniPress.COM by repo.unipress.com (4.1/SMI-4.1/UniPress121791.1) id AA23541; Thu, 22 Oct 92 07:06:36 EDT via Message-Id: <9210221106.AA23541@repo.unipress.com> To: crossfire@ifi.uio.no Subject: core dump Date: Thu, 22 Oct 92 07:06:35 -0400 From: joe@unipress.com Status: RO Also, forgot to mention that I get core dumps; () at 0x35004 add_string(str = (nil)), line 111 in "shstr.c" attack_ob(op = 0xbf598, hitter = 0xc4574), line 310 in "main.c" move_monster(op = 0xc4574), line 475 in "main.c" process_events(), line 1776 in "main.c" main(argc = 1, argv = 0xf7fffab4, env = 0xf7fffabc), line 2018 in "main.c" Obviously, add_string isn't prepared to deal with null pointers. Perhaps all this needs is an if (!str) return;. I'll keep this corefile around. If somebody in the know wants to ask about the contents of various structs involved, I will be more than happy to oblige. It's beyond me what that first line means. Maybe the symbol table is corrupted or something. I guess I'll try recompiling and see if that helps. --joe From owner-crossfire Thu Oct 22 02:53:15 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 12:44:24 +0100 Return-Path: Received: from remus.rutgers.edu by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 12:44:19 +0100 Received: from unipress-link.rutgers.edu by remus.rutgers.edu (5.59/SMI4.0/RU1.5/3.08) id AA27049; Thu, 22 Oct 92 06:53:20 EDT Received: from dot.UniPress.COM by repo.unipress.com (4.1/SMI-4.1/UniPress121791.1) id AA23522; Thu, 22 Oct 92 06:53:17 EDT via Message-Id: <9210221053.AA23522@repo.unipress.com> To: crossfire@ifi.uio.no Subject: making maps Date: Thu, 22 Oct 92 06:53:15 -0400 From: joe@unipress.com Status: RO The crossfire man page is pretty vague about how to make maps and levels. Can somebody tell me how to set the text shown when a small button is stepped on? What if I want to make new archetypes? --joe SRI SYADASTI SYADAVAKTAVYA SYADASTI SYANNASTI SYADASTI CAVAKTAVYASCA SYADASTI SYANNASTI SYADAVATAVYASCA SYADASTI SYANNASTI SYADAVAKTAVYASCA From owner-crossfire Wed Oct 21 17:10:18 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 02:11:40 +0100 Return-Path: Received: from soc16.acpub.duke.edu by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 02:11:26 +0100 Received: by soc16.acpub.duke.edu (5.65/Ultrix3.0-C) id AA05580; Wed, 21 Oct 92 21:10:22 -0400 Message-Id: <9210220110.AA05580@soc16.acpub.duke.edu> To: jhammond@acpub.duke.edu, joshua@acpub.duke.edu, busey@acpub.duke.edu, si@acpub.duke.edu, judym@acpub.duke.edu, wildcat@aol.com, IO10081@maine.maine.edu, ds4@acpub.duke.edu, wbuch@acpub.duke.edu, jecoleb@eos.ncsu.edu, agomma@worf.poly.edu, crossfire@ifi.uio.no Subject: Sorry guys, I'm superstitious, anyways it's amusing. Page Down. Date: Wed, 21 Oct 92 21:10:18 EDT From: mel1@acpub.duke.edu (Douglas Melamed) Status: RO ------- Forwarded Message RFrom: jcm1 (Jack Calhoun Miller) - - - - - ------- Forwarded Message RFrom: klichtma (Karen Lichtman) T - - - - - - ---------- Begin Forwarded Message ---------- Mrom: xian007@Athena.MIT.EDU R Subject: nifty chain letter for a better sex life.(evil grin) D - - - - - - -----------Forwarded message hi guys, here's a little something that might help relieve all your test anxiety...just wiz by the first three or four pages of names and have fun... :) :) :), christian From:jldaigle - - - - - - ------- Forwarded Message RFrom: allenshu@Athena.MIT.EDU From: AMH::PGMAY 17-OCT-1992 00:25:42.70 To: SGAHLGREN, BDBEAN, JEBENNETT, JEBLAKE CC: Subj: From: AMH::PJVANTINE 16-OCT-1992 20:29:45.76 To: LMPETERSON, PCHORTA, PCJOY, PCLEWIS, PCSANTORO, PJMORSE, PCZAP, PDBOCK, PFLALOR, PFWILTSIE, PGCONROY, PGMAY, PHLEE, PHROBSON, PJSHEA, PKTOTHY, PGVENMAN, PJGOODING CC: Subj: stupidity in the form of a sexy chainletter From: AMH::HAMCQUILLEN 16-OCT-1992 12:34:59.82 To: IN%"ejw4@lehigh.edu", MCSPINKS, MKBHATIA, PJVANTINE, IN%"couzelis@horton.colorado.edu", IN%"96pje@williams.edu" CC: Subj: Chain Letter From: IN%"bernstei@remus.rutgers.edu" 16-OCT-1992 00:34:44.56 T From: Rebecca F Gottesman T Sorry about all the stuff you have to go through to actually get to this... Thought it was funny, though. -Rebecca --------------- From: Avni Klein Pass it on. Skip to the end to get the 'amusing letter' and good luck. --------------- From: svg@Athena.MIT.EDU Rrom: avntgrd@Athena.MIT.EDU - - - - - - - -------- From: snlall@Athena.MIT.EDU s Nope, I don't believe in chain letters either, but of all the ones I've ever received, this was certainly one of the most 'tickling' So sit back, relax, read on, and may you have a good destiny :) - - - - - - - -Billy - - - - - - - ------- Forwarded Message From: rctsai@Athena.MIT.EDU R Hey, I don't believe in chain letters but just in case....ha ha sorry. - - - - - - - - - Richard rom: tzgrenfe@Athena.MIT.EDU - - - - - - - - ------- Forwarded Message rom: h20man@Athena.MIT.EDU ubject: Hi! You'll see what this is about at the end --- so skip all the names and check it out! - - - - - - - - - ------- Forwarded Message From: mlgottli@Athena.MIT.EDU Hi there! Skip all the names at the front and go to the text at the bottom. I assure you, it's nothing personal. You may wish to thank me in a few days, however. - - - - - - - - - - ------- Forwarded Message From: dean@Athena.MIT.EDU - - - - - - - - - - - ------- Forwarded Message From: Michael.J.Zigmont@Dartmouth.EDU Hey Deano!! It's pretty funny!! - - - - - - - - - - - - -Ziggy at Dartmouth! - - - - - - - - - - - - --- Forwarded Message from Daphne L. Monie --- >From: Daphne L. Monie > Skip through all the names in the first part. The story part is actually quite amusing; read and enjoy. I hope this provides a much needed break from all the studying that I know everyone is doing. Yeah, whatever. See ya'. - - - - - - - - - - - - --- Forwarded Message from Marjorie M. Lathrop --- > >From: Marjorie M. Lathrop > Skip all of the opening stuff and skip right to the bottom. It's mildly amusing and I'm superstitious. - - - - - - - - - - - - ---------- Forwarded message begins here ---------- rom: Jennifer Carrie Vincent - - - - - - - - - - - - ---------- Forwarded message begins here ---------- Received: from lira.mg.andrew.cmu.edu via trymail From: Christopher Lee Japhet - - - - - - - - - - - - ---------- Forwarded message begins here ---------- From: Laurie Alexandra Modell - - - - - - - - - - - - ---------- Forwarded message begins here ---------- From: Lissa.A.Rosenthal@Dartmouth.EDU - - - - - - - - - - - - --- Forwarded Message from Maria Ruderman --- I don't believe in this little chain letter thing, but I found the concept quite amusing. Just think if you pass this on you will get laid in the next 4 days. Read it. It's funny. - - - - - - - - - - - - --- Forwarded Message from Rebecca V. Liddicoat --- - - - - - - - - - - - - --- Forwarded Message from Lauren J. Campisi --- - - - - - - - - - - - - -As far as chain letters go, this is one of the more amusing ones I have come across. Read on. - - - - - - - - - - - - -One can only agree with that statement!!!!! - - - - - - - - - - - - -Hope everyone has fun with this ,it's funny as all hell! - - - - - - - - - - - - -Matt WITH SEX ALL THINGS ARE POSSIBLE This paper has been sent to you for good luck. The original has been worn out from having passed through the hands of so many people. It had travelled around the world 69 times [Dear Reader: please help keep this count current. If this letter falls into your hands after just completing one more circuit of the world, please add one to the count.] The luck has now been sent to you. You will experience great sex within four days of receiving this letter, provided you send it on! Since the copy must tour the world, you must make twenty copies and send them to others. This is no joke. Send no money. Send copies to people who need to get laid within 96 hours. After he passed this letter on, a Montana Spinach Control Officer got his penis stuck in a cow-milking machine and had the longest series of ograsms of his life. John Elliot tried to pick up a prositute, but, because he broke the chain, was picked up by the police instead. When they searched his home, they found magazines of little boys which they showed to his neighbours. In a suburb of Paris, Don Loray's trousers were ripped by an unsatisfied erection, 51 days after failing to circulate the letter. However, before this happened, a condom machine gave him three condoms for the price of one. (was this the consolation prize?) Do note the following: Hebert Pudstrom received the chain in 1953. He asked his secretary to make twenty copies and send them out. A few days later he encountered her in a red-light district making more than he had every paid her at work. General George Patton, who sent the letter on, saw what he thought was a quarter in the street. When he bent down to pick it up, a beautiful woman in a miniskirt walked by, and he got a great view. His aide, Colonel Roger Bumswiver, who did not pass on the letter, tried to pick up a similar object but was fucked up the ass by a desperate gay when he bent over. Heywood Daddit, an unemployed chicken choker, received the letter and forgot that it had to leave his hands within 96 hours. His wife then went bowling with his best friend and never returned. Later, after finding the letter again, he mailed twenty copies. A few days later he got a wife and discovered that his old wife, who he thought was wonderful, had made love to him like a dead salmon for all these years! Alan Fairchild received the letter and, not believing, threw the letter away. Nine days later he spilled hot coffee in his crotch. In 1987 the letter received by a young woman in Texas was faded and barely readable, so she did not realize that this paragraph applied to her. She promised herself she would retype the letter and send it on, but she put it aside to do later. She was plagued with problems including herpes and other venereal diseases she contracted in her futile attempts to find Mr. Right in a singles bar. The letter did not leave her hands in 96 hours. She finally typed the letter and found a man with a 10-inch penis. You must distribute at least twenty copies within 96 hours of receiving this letter. Those who do will find their love lives more fulfilling. Those who do not will be doomed to one-night stands with mechanical devices. Enjoy... - - - - - - - - - - - ------- End of Forwarded Message - - - - - - - - - - ------- End of Forwarded Message - - - - - - - - - ------- End of Forwarded Message - - - - - - - - ------- End of Forwarded Message - - - - - - - ------- End of Forwarded Message cc: Subject: - - - - - - -------- - - - - - - ----------- End Forwarded Message ----------- I thought you all might appreciate some humor in your day. Sorry about the pages and pages of names in the beginning. Have a nice day!! - - - - - ------- End of Forwarded Message - - - - ------- End of Unsent Draft - - - ------- End of Forwarded Message - - ------- End of Unsent Draft - ------- End of Forwarded Message ------- End of Forwarded Message From frankj Tue Oct 20 10:56:25 1992 Subject: Re: Bug??? To: crossfire@ifi.uio.no Date: Tue, 20 Oct 1992 10:56:25 +0100 In-Reply-To: <9210192053.AA15214@Sofia.DoCS.UU.SE>; from "Rickard Eneqvist" at Oct 19, 92 9:53 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Should there really be two references to "lev_array"? Because the game > worked fine when I removed "lev_array 24". Nope. Your save-file has been corrupted somehow. And the result of a corrupted save-file is "undefined", ie anything can happen... 8) Don't know enough to guess about what could have caused it. -Frank. From owner-crossfire Mon Oct 19 11:02:18 1992 Received: by ifi.uio.no id ; Mon, 19 Oct 1992 07:02:27 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 19 Oct 1992 07:02:00 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA26577; Mon, 19 Oct 1992 17:01:39 +1100 From: Rupert G. Goldie Message-Id: <199210190601.AA26577@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA03092; Mon, 19 Oct 92 16:02:18 EST Date: Mon, 19 Oct 92 16:02:18 EST To: crossfire@ifi.uio.no Subject: monsters Status: RO Here's a summary I made of all the monsters in crossfire (of course at the rate crossfire is developing this will already be out of date...) This table is useful, both as a playing aid, but also for checking the experience point values for some of the monsters. For instance, the exp for black puddings and most of the elementals seem a bit low. Also you can see the big gap between monsters worth about 1000 exp and those worth 40,000-100,000. There are only a few in that inbetween area so it looks like a good difficulty level to aim for when creating new monsters. -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au ---------------------------------->8 cut here 8<-------------------------------- monster hp dam ac wc attack protected immune vulnerable exp ------- -- --- -- -- ------ --------- ------ ---------- --- grimreaper 50 10 10 1 drain cold fr,dr,pys magic 800 slime 5 4 10 18 pys 7 guard 300 15 0 1 pys magic 1200 deathtree 500 3 -1 pys magic 1400 gen panther 100 50 panther 50 10 4 1 pys 30 gen bee 20 4 20 bee 1 4 15 pys pys 5 gen bat 100 pys 20 bat 2 3 4 12 pys pys 8 gen_madman 50 2 100 madman 20 6 7 10 pys 45 gen_stalker 150 1 150 stalker 75 5 -1 10 pys elec 250 gen_ant 120 20 35 ant 5 1 15 18 pys 2 gen_pixie 60 10 20 pixie 8 1 6 7 pys 10 gen_skull 500 7 1000 skull 250 15 -2 -5 pys,cold cold fear,magic 1200 gen_goblin 30 8 100 goblin 6 4 14 17 pys 20 dread 1500 25 -10-20 pys fr,par,ps,cld,fre,mgc60000 gen_dragon 300 3 fire 1000 wyvern 300 25 2 2 pys fear,fire cld,wtr 4000 chinese dragon 1000 15 -8 -15 pys magic fear,cold fire 40000 big dragon 3500 10 -12-20 pys magic fear,fire cold,wtr 100000 behemoth 800 16 -6 -10 pys,pois magic fear 30000 titan 4000 30 -15-20 pys magic fear,elec 100000 gen_giant 100 200 giant 250 40 1 2 pys elec 1500 troll 1000 25 -2 -3 pys fear fire 8000 gen_ghost 5 cold 70 ghost 15 14 10 2 ghst,cold cold fear 40 wraith 40 2 ghst,cold cold fear fire 120 gen_zombie 100 3 cold 50 zombie 35 5 9 8 pys cold fear 60 gen_beholder 100 13 magic 180 beholder 80 10 5 7 pys magic 750 gen_devil 400 7 fire cld,wtr 180 devil 165 12 1 3 pys fire cld,wtr 800 angel 150 12 0 1 pys magic 800 demon lord 3000 120 -11-30 pys,fire magic fr,cld,fire 70000 gen_ogre 60 7 300 ogre 50 8 10 7 pys 100 gen_gnoll 40 10 80 gnoll 8 4 13 12 pys 30 gen_kobold 20 15 30 kobold 2 2 18 27 pys 5 gen_orc 30 9 60 orc 4 1 16 19 pys 15 gen_bird 30 5 200 bird 3 1 2 15 pys 20 gen_scorpion 50 3 50 scorpion 30 20 10 0 pys,pois elec fire cld,wtr 70 gen_mouse 30 3 50 mouse 1 2 7 25 pys 5 gen_skeleton 75 3 50 skeleton 45 6 4 15 pys,cld cold fear fire 40 golem 50 8 5 12 pys 50 fire elemental 200 20 2 10 fire fire wtr 250 air elemental 160 10 0 8 elec elec pys 250 earth elemental 280 50 5 8 cold cold fire 250 water elemental 140 40 4 8 wtr wtr cold 250 green slime 20 40 9 5 acid 400 black pudding 250 15 8 2 acid 400 char woman 8 1 10 25 pys 0 From owner-crossfire Mon Oct 19 22:53:19 1992 Received: by ifi.uio.no id ; Mon, 19 Oct 1992 21:53:24 +0100 Return-Path: Received: from sunic.sunet.se by ifi.uio.no with SMTP id ; Mon, 19 Oct 1992 21:53:22 +0100 Received: from Sofia.DoCS.UU.SE by sunic.sunet.se (5.65c8/1.28) id AA11164; Mon, 19 Oct 1992 21:53:20 +0100 Received: by Sofia.DoCS.UU.SE (Sun-4/20, SunOS 4.1.1) with sendmail 5.61-bind 1.5+ida/ICU/DoCS id AA15214; Mon, 19 Oct 92 21:53:19 +0100 Date: Mon, 19 Oct 92 21:53:19 +0100 From: Rickard Eneqvist Message-Id: <9210192053.AA15214@Sofia.DoCS.UU.SE> To: crossfire@ifi.uio.no Subject: Bug??? Status: RO I don't know if this a bug or not, I haven't studied the source that well. I have been playing a while now and am level 24 with approx 3400000 ep. And I have recently lost my key-bindings (control and directions) but if I entered with a new character they worked ok, so there had to be a fault in the save-file or in the restoration of it. I found two instances of lev_array in it, one said 24 and the other said 10. So I took a look at the source and saw that there was only one reference to it. Should there really be two references to "lev_array"? Because the game worked fine when I removed "lev_array 24". /Eneq... From owner-crossfire Mon Oct 19 10:29:17 1992 Received: by ifi.uio.no id ; Mon, 19 Oct 1992 06:29:23 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 19 Oct 1992 06:28:58 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA21485; Mon, 19 Oct 1992 16:28:32 +1100 From: Rupert G. Goldie Message-Id: <199210190528.AA21485@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA03025; Mon, 19 Oct 92 15:29:17 EST Date: Mon, 19 Oct 92 15:29:17 EST To: crossfire@ifi.uio.no Subject: Re: Bugfix Status: RO > > Ever after the brace command has been introduced the game has been to > simple. What about doubling the hp for low level characters ? > > Sorry. I meant of course that low level monsters should have their hp > doubled. > > > a very tired Andreas > I originally implemented bracing because a friend wanted the feature, but having played crossfire with bracing for a while now, I have to agree with Andreas that it has made crossfire somewhat easier. A first level character can park himself near the first gate in the hut in the old mansion and hold down the 'k' for a while and easily reach 3rd or 4th level. The problem, really, is that the monsters are really stupid and happily charge into your character's rotating blades of death. As I see it there are a number of options for dealing with this. 1) give the low level monsters more hp, as Andreas suggested. The only problem I see with this is that it penalises the character who charges in as well as the person who sits back braced. 2) give less experience if you kill things while braced. This is kind of reasonable if you consider that a braced character is not really excercising their combat skills. 3) make the monsters less stupid. The big problem with this will be the additional cpu load for making all those monsters smarter. 4) fatigue. Make all the characters have a fatigue level which goes up every time you swing your weapon and goes down with time. As your fatigue goes up your speeds drop. Of course this will also affect people who are not braced, but I find that when you are braced you tend to use the key repeat more. I suspect that this option may not be too viable. 5) reduce the armour class of braced characters. When you are braced you aren't ducking and weaving so your ac is worse. I tend to favour 2 overall (it's easy to do as well), but a combination of the above could be worthwhile. -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Mon Oct 19 03:58:22 1992 Received: by ifi.uio.no id ; Mon, 19 Oct 1992 14:58:30 +0100 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Mon, 19 Oct 1992 14:58:27 +0100 Received: from denali.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Mon, 19 Oct 1992 08:58:25 -0500 Received: from localhost by denali.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Mon, 19 Oct 1992 08:58:23 -0500 Message-Id: <199210191358.AA11149@denali.cs.purdue.edu> To: jh@cadre.com (Joe Hartley) Cc: crossfire@ifi.uio.no, bingle@cs.purdue.edu Subject: Re: Multiple artifacts In-Reply-To: Your message of "Fri, 16 Oct 92 14:04:25 EDT." Date: Mon, 19 Oct 92 08:58:22 EST From: bingle@cs.purdue.edu (Richard Bingle) Status: RO >Well, I'm no purist, and play these things for fun, so I'm of the opinion >that multiple artifacts are not a bad thing. I see no problem with an >entire party armed with Excaliburs! > >There's no mistaking it; crossfire's a tough game. Making it more so, >especially at the expense of newer players to the game, seems extreme to me. > I tend to agree. Remember, it's only a game (although a very nice game). Besides, we haven't ever had the problem of having multiple named artifacts... but maybe we're just mediocre players... Richard Bingle bingle@cs.purdue.edu Computer Science Department purdue!bingle Purdue University (317) 494-0893 West Lafayette, IN 47907 From owner-crossfire Mon Oct 19 06:53:08 1992 Received: by ifi.uio.no id ; Mon, 19 Oct 1992 05:53:10 +0100 Return-Path: Received: from maud.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 19 Oct 1992 05:53:09 +0100 Received: by maud.ifi.uio.no ; Mon, 19 Oct 1992 05:53:08 +0100 Date: Mon, 19 Oct 1992 5:53:08 +0100 From: Andreas Bringedal To: crossfire Subject: Bugfix Message-Id: Status: RO Ever after the brace command has been introduced the game has been to simple. What about doubling the hp for low level characters ? Sorry. I meant of course that low level monsters should have their hp doubled. a very tired Andreas From owner-crossfire Mon Oct 19 06:47:52 1992 Received: by ifi.uio.no id ; Mon, 19 Oct 1992 05:47:55 +0100 Return-Path: Received: from maud.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 19 Oct 1992 05:47:54 +0100 Received: by maud.ifi.uio.no ; Mon, 19 Oct 1992 05:47:53 +0100 Date: Mon, 19 Oct 1992 5:47:52 +0100 From: Andreas Bringedal To: crossfire Subject: Re: Something Message-Id: Status: RO Sorry Anderson, I think I sendt this mail to you personally. Can you forgive me ?!? >c. It takes a minimum difficulty of 5 to get onto the simple artifacts list > (dragon_mail,bracers_ac) This actually includes most places. >d. It takes a minimum difficulty of 8 to get onto the super artifacts list > (excalibur, bonecrusher, etc.) >e. Chances to get onto artifacts and super artifacts lists are increased > if the difficulty is harder. Ahhh!!! I've waited a long time for this. But how hard is a level 5 ? Can someone give me an example ? Waiting in happy anticipation for a reply This may mean that the game will be a lot more difficult, which means that many levels have to be reworked(I know, I know Frank.They already do need some patching). I really hope this will be implemented soon. I really hate that one can find Holy Avenger in the Bakery.(But I kinda liked it when it happened to me:) >a. I made different helmets and shields have higher possible magic values. > this makes a difference between the different types of helmets and > shields, the higher the weight the higher the magic can be. This might make the game easier, but then again it might mean that armour will be of some use against the hard monsters(dragon,dread,titan). But it would still be hard to get your AC down to -20... As the game is now, one _removes_ ones armour before one goes to battle with a tuff guy. Completely insane if you ask me. Chinese(ice) dragon has a to thaco of -15. Big dragon of -20. Titan -20. Demon Lord -30. Dread -20. >b. Shops will no longer sell potions or artifacts. It seemed unreasonable > to be able to just buy artifacts, it made it too easy. potions were > eliminated because they chained to artifacts, and because they were too > easy to buy and make yourself really powerful. This is somewhat balanced > by an increased chance of potions appearing. > Shops will sell the ring of nodrain which allows people to buy something > which will protect them from grimreapers but not give them a mondo > weapon easily. It is already very hard to find artifacts in the shops nowadays, and they cost a_lot_. We are talking about 60-70 thousand gold for excalibur. (But maybe it still is a good bargain if the artifacts is less common) Potions are no longer tied to artifacts when sold in shops. They also cost about 6000 gold with charisma of ca 15. When one you start wading around in gold, its usually as a result of you having good stats, good equipment, many spells, ie you don't need money any more. Which reminds me about one thing. We need a bank. What about a bank that charges 10% of any deposit pr hour play. The money is of course donated to the poor if the characker dies. The only problem is that nobody is going to use the bank as long as one can make another charakter and store the money with him. I wote for only one character pr player. I do not however, like the idea of a nodrain ring. The grimreapers is already to easy to kill.(Ever tried to be a first level character and kill 20 grimreapers with 5 scrolls of destruction ?) Lets remove exp for monsters killed with scrolls...(hehe) PS Grimreapers is supposed to he tough(though,tought,thougth,tougth,tought) Why can't anything be spelled straight forward in english !!! >You can also specify if the difficulty of a map is not high >enough whether to keep looking for a treasure or leave it empty. If this means that you can spesify (in the editor) that this treasure will give treasure(and not trash) even if there are no monsters, good. But this may be misused by map-editors, as have happened to many other feathures in the editor. (I'm an map-editor so I should know) If this means lots of empty chests then I'll leave any comments to Frank. End of comments... Ever after the brace command has been introduced the game has been to simple. What about doubling the hp for low level characters ? And what about a new argument for crossfire ? Crossfire -dm (1-5) This will start up crossfire in dm-mode with a premade, standard character number 1,2,3,4 or 5. One is a weak one. 5 is _powerful_. This doesn't need much code. You only havce to save 5 characters and start them up in dm-mode. This way I'll save much time boosting stats, exp, equipment etc when testing the new levels I've made. This will hopefully mean that I(and others) will playtest the levels before they are put in play. Well I could make them myself and make a backup for them, if it still will be allowed to have several characters that is. But I rather not. It's better to leave the job to someone else, I beeing the lazy demanding type:) Hopefully I'll roll a 01 on my charm Frank spell. For the new one(and everybody else): Some advertizing. EVERYBODY can have his personal monster fantasie come trough in this amazing game !!! You have parhaps not notized that we still lack a vampire, juggernaut, dark elf, evil priests, uruk-hai with poison arrows, ents, dryads, balrog, uruk-hai-priests, spiders, giant spiders, nazgul, lichs, nightshades, disenchanter bat, more dragons, pink elefants, real trolls(not the lizards which are found now), gelantinous pudding(which eats everything it finds), draconians(which turns to stone and won't let go of your weapon(immune to magic parhaps...)), etc...etc... All you have to do is make up your mind about what monster you want, and follow this instruction. To make a one square monster: 1. Make a bitmap of it. Size is 24x24 pixels. 2. Make more bitmaps of it. (You want it to move, yes ?) Size is still 24x24 pixels. 3. Check it out. Can't have an orc who looks like a tree half the time. (You figured that one out yourself huh ?) 4. Figure out how many hp, thaco, ac, protections(damage is halved) immunities(damage is ignored), special attacks(breath, spells etc), it has. Have I forgotten something ? Invisibility perhaps. Stuff like that. Make your own special attacks. Frank loves to have something new to implement. The more work the better. Or maybe not. The less coding has to be done. The better chance it has to be implemented in the next version. If it has several squares the appropriate size must be invoked(wonderful word isn't it! ...or maybe not?) The giant is 24x48 pixels, the lizard(called troll) is 48x48. Easy huh ? I think you need to splitt the bitmap into it's seperate pieces becouse Frank is really good at it. But if you want to split it, well... go ahead, make my day :) Thats enough rambling for now. Thanks for the attention. (Andreas leaves silently so as not to wake anybody) Professor Cross.Med Andreas Bringdal PS If there are some people who have something to say conserning my abuse of this foreign(to me) language, please tell me. But break the news a bit carfully. I might have a nervous breakdown. PSII Does anyone have a program to simulate hex walking. Err...How do I explain this. I am trying to start a PBM game but need to have a line of sight program. I want my players to move around in a hex world where they can see 3-5 hexes in eash direction on a given map. The map must be able to contain terrain, cities, people, items, buildings and players. It should also save the map the player has seen on a given turn. The reason I don't make it myself is that I'm lazy and demanding, and when I think about it, not very good at programming. (The rest of this post is only junk...You are warned !) (Hmmm....If I use the Warhammer rules I think that there is a 5% chance to find an uncommon item(the hex walking program) in a reasonable big city. Since this mailing-list is availabil in 3175 cities, the chance is 15875%. Maybe I should subtract some becouce not everyone knows about it. Lets see...95% perhaps...That gives me 15875% x 0.05 = 768%. Maybe not everybody cares to answer, -50%. 384%. Ho hum ho humm...Lets say 25% of the answers is usable...91%. Ok. Lets roll the die...One round around the computer (counterclockwise), clap my hands, rub my dies(to ten sided, one blue, one red), calm my breath...consentrate...and...go! Blue two and red nine. Hurray!!! Thats 29....or 92...I said the blue was first, honest, you heard me..please..Don't make me beg...please...(sobbing noises in the background)) From owner-crossfire Sat Oct 17 17:18:58 1992 Received: by ifi.uio.no id ; Sun, 18 Oct 1992 02:21:02 +0100 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sun, 18 Oct 1992 02:20:59 +0100 Received: by po5.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Sat, 17 Oct 92 21:20:54 EDT Received: via switchmail; Sat, 17 Oct 1992 21:20:54 -0400 (EDT) Received: from phoebe.dws.acs.cmu.edu via qmail ID ; Sat, 17 Oct 1992 21:19:17 -0400 (EDT) Received: from phoebe.dws.acs.cmu.edu via qmail ID ; Sat, 17 Oct 1992 21:18:59 -0400 (EDT) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.phoebe.dws.acs.cmu.edu.pmax.ul4 via MS.5.6.phoebe.dws.acs.cmu.edu.pmax_ul4; Sat, 17 Oct 1992 21:18:58 -0400 (EDT) Message-Id: <8es=i2200VQs0kd88A@andrew.cmu.edu> Date: Sat, 17 Oct 1992 21:18:58 -0400 (EDT) From: "Eric A. Anderson" To: crossfire@ifi.uio.no Subject: Lots of diffs to hopefully make the game better Status: RO Here are a bunch of changes I've made. I think this improves the balance of the game better and prevents some stupidities like finding mjollnier on top of an anthill in the bakery. --------- These diffs make the following changes: 1. Fix a bug in setting difficulty of a level. If the difficulty was 20 or more the code thought it was difficulty 0. 2. Allow the healing spells to be cast on the player who casts them. This happens if you cast the spell in a direction which there isn't a player in. This change also causes the spell to not do anything if the target is at full strength. 3. A better way of figuring out the magic that an item should have. This method is based on a table indexed for 14 different difficulty levels. 4. A better way of doing treasures. This change makes it possible for you to specify certain of the transitions between lists require a minimum difficulty. You can also specify if the difficulty of a map is not high enough whether to keep looking for a treasure or leave it empty. 5. A hack to deal with a new archetype 6. Lots of changes to the treasure lists. Some of these changes adjust the balance a lot. Other people should try this out and see what they think. a. I made different helmets and shields have higher possible magic values. this makes a difference between the different types of helmets and shields, the higher the weight the higher the magic can be. b. Shops will no longer sell potions or artifacts. It seemed unreasonable to be able to just buy artifacts, it made it too easy. potions were eliminated because they chained to artifacts, and because they were too easy to buy and make yourself really powerful. This is somewhat balanced by an increased chance of potions appearing. Shops will sell the ring of nodrain which allows people to buy something which will protect them from grimreapers but not give them a mondo weapon easily. c. It takes a minimum difficulty of 5 to get onto the simple artifacts list (dragon_mail,bracers_ac) This actually includes most places. d. It takes a minimum difficulty of 8 to get onto the super artifacts list (excalibur, bonecrusher, etc.) e. Chances to get onto artifacts and super artifacts lists are increased if the difficulty is harder. 7. The ring of no drain archetype. *** 1.1 1992/10/16 04:09:42 --- map.c 1992/10/18 00:39:03 *************** *** 886,891 **** --- 886,892 ---- } } exp_pr_sq=(1000*total_exp)/(m->mapx*m->mapy+1); + diff=20; for(i=1;i<20;i++) if(exp_pr_sq<=level_exp(i)) { diff=i; *** 1.1 1992/10/16 03:39:35 --- spells.c 1992/10/16 03:41:13 *************** *** 1,6 **** /* * static char *rcsid_spells_c = ! * "$Id: spells.c,v 1.1 1992/10/16 03:39:35 eanders Exp eanders $"; */ /* --- 1,6 ---- /* * static char *rcsid_spells_c = ! * "$Id: spells.c,v 1.20 1992/09/24 04:52:34 frankj Exp $"; */ /* *************** *** 715,721 **** if(tmp->type==PLAYER) break; if(tmp==NULL) /* didn't find a player there */ ! return 0; switch(spell_type) { case SP_MINOR_HEAL: --- 715,724 ---- if(tmp->type==PLAYER) break; if(tmp==NULL) /* didn't find a player there */ ! tmp = op; ! ! if (tmp->type!=PLAYER) ! return 0; /* it might happen */ switch(spell_type) { case SP_MINOR_HEAL: *************** *** 731,736 **** --- 734,741 ---- heal=1000; break; } + if (tmp->stats.hp==tmp->stats.maxhp) + return 0; tmp->stats.hp+=heal; if(tmp->stats.hp>tmp->stats.maxhp) tmp->stats.hp=tmp->stats.maxhp; *** 1.1 1992/10/16 04:09:42 --- treasure.c 1992/10/18 00:38:40 *************** *** 27,37 **** #include "treasure.h" void set_magic(mapstruct *m,object *op, int magic) { ! int i,max_magic=4; ! if(m!=NULL) ! max_magic=14-m->difficulty; ! i=get_magic(max_magic); if(i>magic) i=magic; if(!i) return; --- 27,92 ---- #include "treasure.h" + #define MAXMAGIC 4 + + #define DIFFLEVELS 14 + + int difftomagic_list[DIFFLEVELS][MAXMAGIC+1] = + { + /*chance of magic difficulty*/ + /* +0 +1 +2 +3 +4 */ + { 100,0, 0, 0, 0 }, /*1*/ + { 95, 5, 0, 0, 0 }, /*2*/ + { 90,10, 0, 0, 0 }, /*3*/ + { 85,15, 0, 0, 0 }, /*4*/ + { 80,17, 3, 0, 0 }, /*5*/ + { 75,18, 7, 0, 0 }, /*6*/ + { 70,20,10, 0, 0 }, /*7*/ + { 65,22,12, 1, 0 }, /*8*/ + { 50,25,18, 5, 2 }, /*9*/ + { 35,27,23,10, 5 }, /*10*/ + { 20,27,23,20,10 }, /*11*/ + { 10,27,23,20,20 }, /*12*/ + { 5,10,25,20,40 }, /*13*/ + { 1, 4, 5,10,80 }, /*14*/ + }; + + int magic_from_difficulty(int difficulty) + { + int percent,loop,chance; + + difficulty = difficulty-1; + + percent = RANDOM()%100; + + if (difficulty>=DIFFLEVELS) + difficulty=DIFFLEVELS-1; + + for(loop=0;loop<(MAXMAGIC+1);++loop) { + chance = difftomagic_list[difficulty][loop]; + if (percentdifficulty; ! else ! difficulty = 1; ! ! i = magic_from_difficulty(difficulty); if(i>magic) i=magic; if(!i) return; *************** *** 221,226 **** --- 276,289 ---- object *generate_treasure(int list,mapstruct *m) { int max_tries=1; + int difficulty; + + if (m==NULL) { + /* store difficulty */ + difficulty = 5; + } else + difficulty=m->difficulty; + if(list<0) return NULL; if(list>NROF_T) { *************** *** 232,240 **** object *op; if(!strcmp("unused",treasure_list[list][roll].name)) continue; if(!strncmp("list",treasure_list[list][roll].name,4)) { ! sscanf(treasure_list[list][roll].name,"list %d",&list); ! continue; } if(!strcmp("nothing",treasure_list[list][roll].name)) return NULL; --- 295,323 ---- object *op; if(!strcmp("unused",treasure_list[list][roll].name)) continue; + if (treasure_list[list][roll].nrof== -1) + if (m!=NULL) + continue; + if(!strncmp("list",treasure_list[list][roll].name,4)) { ! int newlist; ! ! sscanf(treasure_list[list][roll].name,"list %d",&newlist); ! if (difficulty>=treasure_list[list][roll].magic) { ! /* if (treasure_list[list][roll].magic) ! printf("Took limited list transition %d,%d.\n", ! difficulty,treasure_list[list][roll].magic);*/ ! list = newlist; ! continue; ! } else { ! if (treasure_list[list][roll].nrof) { ! /* printf("Taking unused special.\n");*/ ! continue; ! } else { ! /* printf("Taking nothing special.\n");*/ ! return NULL; ! } ! } } if(!strcmp("nothing",treasure_list[list][roll].name)) return NULL; *************** *** 247,253 **** op->nrof=RANDOM()%treasure_list[list][roll].nrof+1; if(!op->magic) /* Only set magic bonus if it doesn't already have one */ set_magic(m,op,treasure_list[list][roll].magic); ! if(op->type==RING){ set_ring_bonus(op,DICE2); if(!(RANDOM()%4)) { set_ring_bonus(op,RANDOM()%2?DICE2:-DICE2); --- 330,336 ---- op->nrof=RANDOM()%treasure_list[list][roll].nrof+1; if(!op->magic) /* Only set magic bonus if it doesn't already have one */ set_magic(m,op,treasure_list[list][roll].magic); ! if(op->type==RING&&treasure_list[list][roll].nrof!= -1){ set_ring_bonus(op,DICE2); if(!(RANDOM()%4)) { set_ring_bonus(op,RANDOM()%2?DICE2:-DICE2); *** 1.1 1992/10/16 04:06:18 --- treasure.h 1992/10/17 23:44:24 *************** *** 1,6 **** /* * static char *rcsid_treasure_h = ! * "$Id: treasure.h,v 1.1 1992/10/16 04:06:18 eanders Exp eanders $"; */ /* --- 1,6 ---- /* * static char *rcsid_treasure_h = ! * "$Id: treasure.h,v 1.12 1992/09/23 00:33:37 frankj Exp $"; */ /* *************** *** 43,48 **** --- 43,55 ---- #define MAX_T 20 + /* List transition rules: + first number is difficulty of the map neccesary to make the transition. + if the difficulty is too low, the second number determines if the + entry is treated as an unused or a nothing. + if the number is a 0 it is treated as a nothing. If the number + is a 1 the entry is treated as an unused. + */ treasure treasure_list[NROF_T][MAX_T]= { /* For use in chests */ { /* List 0 */ *************** *** 116,127 **** {"plate_mail",4,0}, {"robe",4,0}, {"leather_armour",4,0}, ! {"full_helmet",1,0}, ! {"horned_helmet",1,0}, {"helmet",1,0}, {"shield",2,0}, {"small_shield",1,0}, ! {"high_shield",2,0}, {"unused",0,0}, {"unused",0,0}, {"unused",0,0}, --- 123,134 ---- {"plate_mail",4,0}, {"robe",4,0}, {"leather_armour",4,0}, ! {"full_helmet",3,0}, ! {"horned_helmet",2,0}, {"helmet",1,0}, {"shield",2,0}, {"small_shield",1,0}, ! {"high_shield",3,0}, {"unused",0,0}, {"unused",0,0}, {"unused",0,0}, *************** *** 157,163 **** }, { /* List 5 (shop) */ {"scroll",0,3}, ! {"list 8",0,0}, {"amulet",0,0}, {"ring",0,0}, {"gem",0,2}, --- 164,170 ---- }, { /* List 5 (shop) */ {"scroll",0,3}, ! {"unused",0,0}, {"amulet",0,0}, {"ring",0,0}, {"gem",0,2}, *************** *** 167,178 **** {"ring",0,0}, {"clock",0,0}, {"scroll",0,0}, ! {"list 8",0,0}, {"amulet",0,0}, {"ring",0,0}, {"gem",0,1}, {"book",0,0}, ! {"list 8",0,0}, {"unused",0,0}, {"unused",0,0}, {"unused",0,0} --- 174,185 ---- {"ring",0,0}, {"clock",0,0}, {"scroll",0,0}, ! {"unused",0,0}, {"amulet",0,0}, {"ring",0,0}, {"gem",0,1}, {"book",0,0}, ! {"ring_nodrain",0,-1}, {"unused",0,0}, {"unused",0,0}, {"unused",0,0} *************** *** 197,203 **** {"unused",0,0}, {"unused",0,0}, {"unused",0,0}, ! {"unused",0,0} }, { /* List 7 */ {"goldcoin",0,6}, --- 204,210 ---- {"unused",0,0}, {"unused",0,0}, {"unused",0,0}, ! {"list 8",0,0} }, { /* List 7 */ {"goldcoin",0,6}, *************** *** 236,247 **** {"nothing",0,0}, {"nothing",0,0}, {"nothing",0,0}, ! {"nothing",0,0}, ! {"nothing",0,0}, ! {"nothing",0,0}, ! {"nothing",0,0}, ! {"nothing",0,0}, ! {"list 9",0,0} }, { /* List 9 (Artifacts) */ {"dragon_mail",4,0}, --- 243,254 ---- {"nothing",0,0}, {"nothing",0,0}, {"nothing",0,0}, ! {"list 9",10,0}, ! {"list 9",10,0}, ! {"list 9",8,0}, ! {"list 9",8,0}, ! {"list 9",5,1}, ! {"list 9",5,1} }, { /* List 9 (Artifacts) */ {"dragon_mail",4,0}, *************** *** 250,261 **** {"bracers_ac",4,0}, {"dragon_mail",4,0}, {"bracers_ac",4,0}, ! {"list 13",0,0}, ! {"list 13",0,0}, ! {"list 13",0,0}, ! {"nothing",0,0}, ! {"nothing",0,0}, ! {"nothing",0,0}, {"nothing",0,0}, {"nothing",0,0}, {"nothing",0,0}, --- 257,268 ---- {"bracers_ac",4,0}, {"dragon_mail",4,0}, {"bracers_ac",4,0}, ! {"list 13",8,1}, ! {"list 13",8,1}, ! {"list 13",9,0}, ! {"list 13",9,0}, ! {"list 13",10,0}, ! {"list 13",10,0}, {"nothing",0,0}, {"nothing",0,0}, {"nothing",0,0}, *** 1.1 1992/10/17 23:27:51 --- archetypes 1992/10/17 23:38:43 *************** *** 4142,4147 **** --- 4142,4156 ---- weight 25000 value 44 end + Object ring_nodrain + name Immunity to Drain Ring + face 30 + value 10000 + weight 40 + type 70 + material 2 + immune 128 + end Object stormbringer name Stormbringer last_sp 8 -Eric ********************************************************* "Overhead, without any fuss, the stars were going out." -The Nine Billion Names of God "Yes, you're very smart. Shut up." -In "The Princess Bride" ********************************************************* From owner-crossfire Fri Oct 16 12:16:06 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 08:17:19 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 08:17:11 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA19774; Fri, 16 Oct 1992 17:16:11 +1000 From: Rupert G. Goldie Message-Id: <199210160716.AA19774@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA29088; Fri, 16 Oct 92 17:16:06 EST Date: Fri, 16 Oct 92 17:16:06 EST To: rgg@aaii.oz.au Subject: Re: multiple artifacts Cc: crossfire@ifi.uio.no Status: RO > >2 Excalibers ! This shouldn't happen. Crossfire should only allow one of > >each artifact in the game. If a saved player brings an artifact into the > >game, another of the same kind shouldn't be generated. > > Answer this: What should happen if two SAVED players enters and both > has Excalibur? > The nice way: both players get to use their Excalibers. The not nice way: the first player to join gets to use his or her Excaliber, the other player doesn't (the second player should still be able to save and have Excaliber the next time they play, however. Taking it away permanently would be very unfair) -Rupert From owner-crossfire Fri Oct 16 12:11:58 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 08:13:04 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 08:12:49 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA19065; Fri, 16 Oct 1992 17:12:00 +1000 From: Rupert G. Goldie Message-Id: <199210160712.AA19065@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA29079; Fri, 16 Oct 92 17:11:58 EST Date: Fri, 16 Oct 92 17:11:58 EST To: crossfire@ifi.uio.no Subject: Re: Bonecruncher Status: RO > Another reason to get out the current version...I'll release it very > soon, eventhough I haven't finished what I was supposed to finish before > the release. > Anybody got a script/program that includes new files in a recursive > diff-file? > > -Frank. > According to the patch man page, the best way to do this is to create an empty file in the old directory with the same name as the file you wish to add. I'm not 100% sure whether this works with all versions of patch. Also if you are patching subdirectories you need to use the -p option when applying the patch. -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Fri Oct 16 11:54:05 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 07:56:40 +0100 Return-Path: Received: from gyda.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 07:56:38 +0100 Received: from yarra-glen.aaii.OZ.AU by gyda.ifi.uio.no ; Fri, 16 Oct 1992 07:56:17 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA15854; Fri, 16 Oct 1992 16:54:08 +1000 From: Rupert G. Goldie Message-Id: <199210160654.AA15854@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA29052; Fri, 16 Oct 92 16:54:05 EST Date: Fri, 16 Oct 92 16:54:05 EST To: crossfire@ifi.uio.no Subject: multiple artifacts Status: RO > > (P.S. I have a player here who apparently is a 13th level cleric with the > following items: > > oneCrusher +3, 2 Excaliber +5 s, 1 Mournblade +4, Stinger +3. My damage > is 59 with a Bonecrusher and thaco 0. 2 Excalibers ! This shouldn't happen. Crossfire should only allow one of each artifact in the game. If a saved player brings an artifact into the game, another of the same kind shouldn't be generated. -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Fri Oct 16 10:04:25 1992 Received: by ifi.uio.no id ; Sat, 17 Oct 1992 12:48:28 +0100 Return-Path: Received: from RUTGERS.EDU by ifi.uio.no with SMTP id ; Sat, 17 Oct 1992 12:48:26 +0100 Received: from ogicse.UUCP by rutgers.edu (5.59/SMI4.0/RU1.5/3.08) with UUCP id AA23926; Sat, 17 Oct 92 07:16:36 EDT Received: by ogicse.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.3) id ; Fri, 16 Oct 92 14:26 PDT Received: by cadre.com (/\==/\ Smail3.1.24.1 #24.6) id ; Fri, 16 Oct 92 14:02 PDT Message-Id: Received: from fripp (eno) by cadreri.ri.cadre.com (4.1/SMI-4.1) id AA09054; Fri, 16 Oct 92 13:59:15 EDT Received: from xtc.fripp by fripp (4.1/SMI-4.1) id AA11754; Fri, 16 Oct 92 14:04:25 EDT Date: Fri, 16 Oct 92 14:04:25 EDT From: jh@cadre.com (Joe Hartley) To: crossfire@ifi.uio.no Subject: Multiple artifacts Status: RO Well, I'm no purist, and play these things for fun, so I'm of the opinion that multiple artifacts are not a bad thing. I see no problem with an entire party armed with Excaliburs! There's no mistaking it; crossfire's a tough game. Making it more so, especially at the expense of newer players to the game, seems extreme to me. =============================================================================== Joe Hartley | jh@cadre.com - Whenever you find that you are on the Cadre Technologies | side of the majority, it is time to reform. - M. Twain 222 Richmond St. | -------------------------------------------------------- Providence, RI 02903 | Overman 1st Class - the Kilgore Trout Memorial Clench (401) 351-5950 x266 | of the Church of the SubGenius =============================================================================== From owner-crossfire Fri Oct 16 19:38:24 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 18:38:27 +0100 Return-Path: Received: from brage.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 18:38:25 +0100 From: Christian Berg Received: by brage.ifi.uio.no ; Fri, 16 Oct 1992 18:38:24 +0100 Date: Fri, 16 Oct 1992 18:38:24 +0100 Message-Id: <9210161738.AAbrage.ifi.uio.no25159@brage.ifi.uio.no> To: crossfire@ifi.uio.no Subject: Re: multiple artifacts Status: RO >Another way of dealing with multiple artifacts might be to disallow a >player who has an artifact that already exists in a particular game >(whether it has been found or not) to join that game. I've got an even BETTER idea.... Why don't we just outright DELETE a character that has an artifact that already exists..? Then one wouldnt have to start ones own game f.ex. No pain, no gain. From owner-crossfire Fri Oct 16 08:55:08 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 17:57:20 +0100 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 17:57:16 +0100 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 16 Oct 92 12:57:12 EDT Received: via switchmail; Fri, 16 Oct 1992 12:57:11 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Fri, 16 Oct 1992 12:55:18 -0400 (EDT) Received: via niftymail; Fri, 16 Oct 1992 12:55:09 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 16 Oct 1992 12:55:08 -0400 (EDT) From: Moonchilde Subject: Re: Character levels. To: crossfire@ifi.uio.no In-Reply-To: <199210150657.AA23633@yarra-glen.aaii.oz.au> References: <199210150657.AA23633@yarra-glen.aaii.oz.au> Message-Id: <719254508.2076.0@freehold.andrew.cmu.edu> Status: RO Around here at least, most character just seem to be going up up up. There is some solo play, and some joint play. From what I've noticed in the joint play, people cooperate. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Isn't humanity egocentric? Whenever we talk, we say "Here's my two cents worth," but we only offer "a penny for your thoughts." --ariel@cs.ucla.edu Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Fri Oct 16 04:46:15 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 07:08:09 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 07:07:55 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA07977; Fri, 16 Oct 1992 16:07:02 +1000 From: Rupert G. Goldie Message-Id: <199210160607.AA07977@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA25491; Fri, 16 Oct 92 09:46:15 EST Date: Fri, 16 Oct 92 09:46:15 EST To: crossfire@ifi.uio.no Subject: Re: Character levels. Status: RO Fred Trudwig writes: > What version are you guys playing? > I have gotten up to level 21 before I willingly got myself killed off. > We also have characters up to level 41 that are alive now. > > btw, people play solo and in groups. With your level 21 character were you are to defeat all of the monsters ? What kind of armour class, thaco, etc did you have ? Did you max out all your stats ? The highest level character here is 9th level, but still going. We are running 0.87.8, but we don't generally have a whole lot of time to play crossfire 8(. By the way, this 9th level character has an ac of -9, Bonecrusher, and about 20 spells, but still can't take on all the monsters. -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Fri Oct 16 05:22:56 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 14:24:43 +0100 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 14:24:37 +0100 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 16 Oct 92 09:24:30 EDT Received: via switchmail; Fri, 16 Oct 1992 09:24:29 -0400 (EDT) Received: from thetis.weh.andrew.cmu.edu via qmail ID ; Fri, 16 Oct 1992 09:23:11 -0400 (EDT) Received: from thetis.weh.andrew.cmu.edu via qmail ID ; Fri, 16 Oct 1992 09:23:00 -0400 (EDT) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.thetis.weh.andrew.cmu.edu.pmax.ul4 via MS.5.6.thetis.weh.andrew.cmu.edu.pmax_ul4; Fri, 16 Oct 1992 09:22:56 -0400 (EDT) Message-Id: Date: Fri, 16 Oct 1992 09:22:56 -0400 (EDT) From: Fred Trudwig To: crossfire@ifi.uio.no Subject: Re: Character levels. In-Reply-To: <199210160607.AA07977@yarra-glen.aaii.oz.au> References: <199210160607.AA07977@yarra-glen.aaii.oz.au> Beak: is Not Status: RO > With your level 21 character were you are to defeat all of the monsters ? >What kind of armour class, thaco, etc did you have ? Did you max out all >your stats ? > The highest level character here is 9th level, but still going. We are >running 0.87.8, but we don't generally have a whole lot of time to play >crossfire 8(. By the way, this 9th level character has an ac of -9, >Bonecrusher, and about 20 spells, but still can't take on all the monsters. almost all of my stats were maxed out. I believe that I had a thacho of ~-10, an ac of ~-16, I was using both skullcleaver +3 and stormbringer.(not at the same time... :-) ) A good place to go killing is castle argh (sp?), . There are also other good ones like the watchtower, baradaur (sp?), etc. Palace ------------------------------------------------------------- Fred Trudwig Jr ft0f+@andrew.cmu.edu or palace+@cmu.edu "nothing left to do but smile, smile, smile........." From owner-crossfire Fri Oct 16 09:33:57 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 08:34:53 +0100 Return-Path: Received: from ida.csd.uu.se by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 08:34:51 +0100 Received: by ida.csd.uu.se id AA14892 (5.65c8/IDA-1.4.4 for crossfire@ifi.uio.no); Fri, 16 Oct 1992 08:33:57 +0100 Date: Fri, 16 Oct 1992 08:33:57 +0100 From: Rickard Eneqvist Message-Id: <199210160733.AA14892@ida.csd.uu.se> To: "Rupert G. Goldie" Cc: crossfire@ifi.uio.no, eneq@csd.uu.se Subject: Re: multiple artifacts In-Reply-To: Your message of "Fri, 16 Oct 92 17:16:06 EST." <199210160716.AA19774@yarra-glen.aaii.oz.au> X-Charset: ASCII X-Char-Esc: 29 Status: RO >.> Answer this: What should happen if two SAVED players enters and both > > has Excalibur? > > >The nice way: both players get to use their Excalibers. >The not nice way: the first player to join gets to use his or her Excaliber, >the other player doesn't (the second player should still be able to save >and have Excaliber the next time they play, however. Taking it away >permanently would be very unfair) But then we end up with what you commented, a player can have two identical artifacts (Unless the game checks and doesn't allow one to have two of a kind). Another way is to check if an artifact already exists and if it does replaces the current one with another artifact that doesn't exist (yet). Seems like to best way to me, and the fairest. From frankj Fri Oct 16 08:15:51 1992 Subject: Re: Bonecruncher To: crossfire@ifi.uio.no Date: Fri, 16 Oct 1992 08:15:51 +0100 In-Reply-To: <199210160712.AA19065@yarra-glen.aaii.oz.au>; from "Rupert G. Goldie" at Oct 16, 92 5:11 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > According to the patch man page, the best way to do this is to create an > empty file in the old directory with the same name as the file you wish to > add. I'm not 100% sure whether this works with all versions of patch. > Also if you are patching subdirectories you need to use the -p option when > applying the patch. Yes, I knew that. Seems like I have to make a script that links all files that only exist in the new version to /dev/null... I don't want to fix all the new bitmaps by hand! 8) -Frank. From owner-crossfire Fri Oct 16 09:10:14 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 08:10:57 +0100 Return-Path: Received: from ida.csd.uu.se by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 08:10:54 +0100 Received: by ida.csd.uu.se id AA14822 (5.65c8/IDA-1.4.4 for crossfire@ifi.uio.no); Fri, 16 Oct 1992 08:10:14 +0100 Date: Fri, 16 Oct 1992 08:10:14 +0100 From: Rickard Eneqvist Message-Id: <199210160710.AA14822@ida.csd.uu.se> To: "Rupert G. Goldie" Cc: crossfire@ifi.uio.no, eneq@csd.uu.se Subject: Re: multiple artifacts In-Reply-To: Your message of "Fri, 16 Oct 92 16:54:05 EST." <199210160654.AA15854@yarra-glen.aaii.oz.au> X-Charset: ASCII X-Char-Esc: 29 Status: RO >2 Excalibers ! This shouldn't happen. Crossfire should only allow one of >each artifact in the game. If a saved player brings an artifact into the >game, another of the same kind shouldn't be generated. Answer this: What should happen if two SAVED players enters and both has Excalibur? From frankj Fri Oct 16 08:03:55 1992 Subject: Re: Bonecruncher To: crossfire@ifi.uio.no Date: Fri, 16 Oct 1992 08:03:55 +0100 In-Reply-To: <199210160659.AA14753@ida.csd.uu.se>; from "Rickard Eneqvist" at Oct 16, 92 7:59 am X-Mailer: ELM [version 2.3 PL11] Status: RO > You can get such stats with other characters as well, for those who isn't > aware of it wearing a ring that lowers a stat will increase that stats > possibility to be increased by quaffing potions. Another reason to get out the current version...I'll release it very soon, eventhough I haven't finished what I was supposed to finish before the release. Anybody got a script/program that includes new files in a recursive diff-file? -Frank. From owner-crossfire Fri Oct 16 08:59:40 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 07:59:46 +0100 Return-Path: Received: from ida.csd.uu.se by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 07:59:43 +0100 Received: by ida.csd.uu.se id AA14753 (5.65c8/IDA-1.4.4); Fri, 16 Oct 1992 07:59:40 +0100 Date: Fri, 16 Oct 1992 07:59:40 +0100 From: Rickard Eneqvist Message-Id: <199210160659.AA14753@ida.csd.uu.se> To: Andreas Bringedal Cc: crossfire@ifi.uio.no, eneq@csd.uu.se Subject: Re: Bonecruncher In-Reply-To: Your message of "Fri, 16 Oct 92 07:41:39 +0100." X-Charset: ASCII X-Char-Esc: 29 Status: RO >You'll need a weapon speed of at least 1.00 to make it worth it. And you >need str > 23, dex > 23 to get that. You can get such stats with other characters as well, for those who isn't aware of it wearing a ring that lowers a stat will increase that stats possibility to be increased by quaffing potions. From owner-crossfire Fri Oct 16 08:41:39 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 07:41:42 +0100 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 07:41:40 +0100 Received: by yrsa.ifi.uio.no ; Fri, 16 Oct 1992 07:41:39 +0100 Date: Fri, 16 Oct 1992 7:41:39 +0100 From: Andreas Bringedal To: crossfire Subject: Bonecruncher Message-Id: Status: RO It seems that a lot of people like bonecruncher a lot. Is that only becouse everybody plays a barbarian ? You'll need a weapon speed of at least 1.00 to make it worth it. And you need str > 23, dex > 23 to get that. Anyone tried to compare Bonecruncher, Excalibur and Holy Avenger ? I won't give 2 silver for the Bonecruncher to come out on top ! Andreas From frankj Fri Oct 16 07:36:14 1992 Subject: Re: your mail To: crossfire@ifi.uio.no Date: Fri, 16 Oct 1992 07:36:14 +0100 In-Reply-To: <9210160618.AA09596@tailgunner>; from "wchuang@Athena.MIT.EDU" at Oct 16, 92 2:18 am X-Mailer: ELM [version 2.3 PL11] Status: RO > quoted... Just for an example of what happens... Anyway, what do folks think > of having encryption for the savefiles [for those of us who don't have enough > space to store savefiles, even with 54Megs of space on our games locker, where > the binaries and libfiles are]?) Did you mean encryption or compression? I've just added encryption to the passwords, would be easy enough to crypt the rest of the save-file with the same key, but it would be rather pointless since the player already knows the password/key. Of course, a key can be put into config.h and kept secret... There is also support for uncompressing the save-files, but not for compressing them. Since it's so easy to support that as well, I'll add it. But remember that half of the save-files usually are only one block, so there isn't all that much to gain. Maybe adding a client which only handshakes with crossfire and tells both which user and what window wants to play, it would be possible to limit the players, and thus the save-files to one pr. user. (Much like in the game xpilot, for those who have tried it). -Frank. From owner-crossfire Thu Oct 15 22:18:45 1992 Received: by ifi.uio.no id ; Fri, 16 Oct 1992 07:18:58 +0100 Return-Path: Received: from Athena.MIT.EDU (ATHENA-AS-WELL.MIT.EDU) by ifi.uio.no with SMTP id ; Fri, 16 Oct 1992 07:18:56 +0100 Received: from TAILGUNNER.MIT.EDU by Athena.MIT.EDU with SMTP id AA20693; Fri, 16 Oct 92 02:18:54 EDT From: wchuang@Athena.MIT.EDU Received: by tailgunner (5.57/4.7) id AA09596; Fri, 16 Oct 92 02:18:51 -0400 Message-Id: <9210160618.AA09596@tailgunner> To: crossfire@ifi.uio.no Date: Fri, 16 Oct 92 02:18:45 EDT Status: RO I can generate statistics on the levels and types of players playing here at MIT, if you wish. I am currently logging instances of when a new player is added/died/quit from the game -- and apparently I have about 1885 players added/died/quit in the past 5 days... (I know, it doesn't say a whole lot, but then I have only been interested in seeing how heavy usage is on the distributed system here [13,000 users, and about 350 public workstations, many more private]. I also don't want to invade player's privacy.) Currently, I have the player's keep their own savefiles, otherwise I'd have several megs of savefiles in my hands. -William (P.S. I have a player here who apparently is a 13th level cleric with the following items: oneCrusher +3, 2 Excaliber +5 s, 1 Mournblade +4, Stinger +3. My damage is 59 with a Bonecrusher and thaco 0. quoted... Just for an example of what happens... Anyway, what do folks think of having encryption for the savefiles [for those of us who don't have enough space to store savefiles, even with 54Megs of space on our games locker, where the binaries and libfiles are]?) From owner-crossfire Thu Oct 15 11:56:56 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 07:58:21 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 07:57:55 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA23633; Thu, 15 Oct 1992 16:57:21 +1000 From: Rupert G. Goldie Message-Id: <199210150657.AA23633@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA22973; Thu, 15 Oct 92 16:56:56 EST Date: Thu, 15 Oct 92 16:56:56 EST To: crossfire@ifi.uio.no Subject: Character levels. Status: RO Typically, what level characters do players seem to be playing with ? We don't have that many active players here, so it is hard to get an idea of what sort of characters are being used. Do characters survive for long periods of time, or is there a high mortality rate with people rapidly bringing characters upto some plateau level ? Also do people tend to play in teams or solo, and if they play multiplayer, do most people co-operate, or is there a lot of interplayer violence ? Just wondering, Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Thu Oct 15 11:56:56 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 07:58:21 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 07:57:55 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA23633; Thu, 15 Oct 1992 16:57:21 +1000 From: Rupert G. Goldie Message-Id: <199210150657.AA23633@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA22973; Thu, 15 Oct 92 16:56:56 EST Date: Thu, 15 Oct 92 16:56:56 EST To: crossfire@ifi.uio.no Subject: Character levels. Status: RO Typically, what level characters do players seem to be playing with ? We don't have that many active players here, so it is hard to get an idea of what sort of characters are being used. Do characters survive for long periods of time, or is there a high mortality rate with people rapidly bringing characters upto some plateau level ? Also do people tend to play in teams or solo, and if they play multiplayer, do most people co-operate, or is there a lot of interplayer violence ? Just wondering, Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Thu Oct 15 11:48:48 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 20:51:22 +0100 Return-Path: Received: from PO4.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 20:51:17 +0100 Received: by po4.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 15 Oct 92 15:51:08 EDT Received: via switchmail; Thu, 15 Oct 1992 15:51:04 -0400 (EDT) Received: from aegina.weh.andrew.cmu.edu via qmail ID ; Thu, 15 Oct 1992 15:49:16 -0400 (EDT) Received: from aegina.weh.andrew.cmu.edu via qmail ID ; Thu, 15 Oct 1992 15:48:51 -0400 (EDT) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.aegina.weh.andrew.cmu.edu.pmax.ul4 via MS.5.6.aegina.weh.andrew.cmu.edu.pmax_ul4; Thu, 15 Oct 1992 15:48:48 -0400 (EDT) Message-Id: Date: Thu, 15 Oct 1992 15:48:48 -0400 (EDT) From: Fred Trudwig To: crossfire@ifi.uio.no Subject: Re: Character levels. In-Reply-To: References: Beak: is Not Status: RO What version are you guys playing? I have gotten up to level 21 before I willingly got myself killed off. We also have characters up to level 41 that are alive now. btw, people play solo and in groups. Palace ------------------------------------------------------------- Fred Trudwig Jr ft0f+@andrew.cmu.edu or palace+@cmu.edu "nothing left to do but smile, smile, smile........." From owner-crossfire Thu Oct 15 04:06:11 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 15:06:30 +0100 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 15:06:20 +0100 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Thu, 15 Oct 1992 09:06:15 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Thu, 15 Oct 1992 09:06:13 -0500 Message-Id: <199210151406.AA11875@phoenix.cs.purdue.edu> To: "Rupert G. Goldie" Cc: crossfire@ifi.uio.no, burke@cs.purdue.edu Subject: Re: Character levels. In-Reply-To: Your message of "Thu, 15 Oct 92 16:56:56 EST." <199210150657.AA23633@yarra-glen.aaii.oz.au> Date: Thu, 15 Oct 92 09:06:11 EST From: burke@cs.purdue.edu (Byron Burke) Status: RO >Typically, what level characters do players seem to be playing with ? >We don't have that many active players here, so it is hard to get an idea >of what sort of characters are being used. Do characters survive for long >periods of time, or is there a high mortality rate with people rapidly >bringing characters upto some plateau level ? > Also do people tend to play in teams or solo, and if they play multiplayer, >do most people co-operate, or is there a lot of interplayer violence ? > >Just wondering, At this time we usually play with some fairly high level characters (8-10) both individually and as a team. This is only after the save feature was implemented because we typically only play for an hour at a time. (BTW, I think it is a lot more fun playing with high level characters; you don't have to get a heart attack each time you see a ghost or a scorpion.) We have a variety of characters (barbarian, viking, and a mage) so that we can use the strengths of each character in different areas. Now that we each have a high level character we are also starting some new characters so we can have a choice of the type of character we want to play that day. > > Rupert > >-- >Rupert G. Goldie, rgg@aaii.oz.au byron From owner-crossfire Thu Oct 15 04:07:14 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 15:51:53 +0100 Return-Path: Received: from RUTGERS.EDU by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 15:51:38 +0100 Received: from ogicse.UUCP by rutgers.edu (5.59/SMI4.0/RU1.5/3.08) with UUCP id AA13185; Thu, 15 Oct 92 10:15:33 EDT Received: by ogicse.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.3) id ; Thu, 15 Oct 92 05:14 PDT Received: by cadre.com (/\==/\ Smail3.1.24.1 #24.6) id ; Thu, 15 Oct 92 05:07 PDT Message-Id: Received: from fripp (eno) by cadreri.ri.cadre.com (4.1/SMI-4.1) id AA19176; Thu, 15 Oct 92 08:03:45 EDT Received: from xtc.fripp by fripp (4.1/SMI-4.1) id AA00615; Thu, 15 Oct 92 08:07:14 EDT Date: Thu, 15 Oct 92 08:07:14 EDT From: jh@cadre.com (Joe Hartley) To: crossfire@ifi.uio.no Subject: Re: Character levels. Status: RO > Typically, what level characters do players seem to be playing with ? > We don't have that many active players here, so it is hard to get an idea > of what sort of characters are being used. Do characters survive for long > periods of time, or is there a high mortality rate with people rapidly > bringing characters upto some plateau level ? > Also do people tend to play in teams or solo, and if they play multiplayer, > do most people co-operate, or is there a lot of interplayer violence ? > Well, here I don't have the opportunity for much multi-player involvement. In fact, I've only been able to play a game with 2 players (including myself) for about one hour in the couple of months I've had crossfire on my system. I have a level 9 character right now, but I jiggered the source to give my character 18 stats across the board to compensate for never having any help. It's *still* tough! There are some monsters that I just can't tangle with! =============================================================================== Joe Hartley | jh@cadre.com - Whenever you find that you are on the Cadre Technologies | side of the majority, it is time to reform. - M. Twain 222 Richmond St. | -------------------------------------------------------- Providence, RI 02903 | Overman 1st Class - the Kilgore Trout Memorial Clench (401) 351-5950 x266 | of the Church of the SubGenius =============================================================================== From owner-crossfire Wed Oct 14 17:35:31 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 08:35:43 +0100 Return-Path: Received: from cscihp.ecst.csuchico.edu by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 08:35:37 +0100 Message-Id: <199210150735.AAifi.uio.no23488@ifi.uio.no> Received: by cscihp.ecst.csuchico.edu (16.6/16.2-1) id AA14654; Thu, 15 Oct 92 00:35:32 -0700 From: Don Tabb Subject: Character levels. To: crossfire@ifi.uio.no Date: Thu, 15 Oct 92 0:35:31 PDT X-Mailer: ELM [version 2.3 PL11] Status: RO Forwarded message: > From owner-crossfire@ifi.uio.no Thu Oct 15 00:03 PDT 1992 > From: Rupert G. Goldie > Message-Id: <199210150657.AA23633@yarra-glen.aaii.oz.au> > Date: Thu, 15 Oct 92 16:56:56 EST > To: crossfire@ifi.uio.no > Subject: Character levels. > > Typically, what level characters do players seem to be playing with ? 1 level. > We don't have that many active players here, so it is hard to get an idea > of what sort of characters are being used. I uses widards. a friend uses barbarian... with out the extra potions everywere, you need the bonus from the stats. >Do characters survive for long periods of time, or is there a high mortality >rate with people rapidly bringing characters upto some plateau level ? yes, people die alot. most get to level 4 not to level 5. if you get past level 5, I usually get to level 10, then try stupid things and die. > Also do people tend to play in teams or solo, and if they play multiplayer, > do most people co-operate, or is there a lot of interplayer violence ? people start solo, It's better to scumm alone. after you get a 6 level dude, you join a party. people here co-operate alot. (you only have a +4 sword. Here, have Mournblade) > > Just wondering, > > Rupert > > -- > Rupert G. Goldie, rgg@aaii.oz.au > From owner-crossfire Tue Oct 13 05:01:11 1992 Received: by ifi.uio.no id ; Tue, 13 Oct 1992 01:01:55 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Tue, 13 Oct 1992 01:01:39 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA23902; Tue, 13 Oct 1992 10:01:16 +1000 From: Rupert G. Goldie Message-Id: <199210130001.AA23902@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA17203; Tue, 13 Oct 92 10:01:11 EST Date: Tue, 13 Oct 92 10:01:11 EST To: crossfire@ifi.uio.no Subject: Another patch for my spell patch. Status: RO I'm afraid I found another bug in my spell patch. This fixes the problem with potions not working. -Rupert ----------------------------cut here 8<-------------------------------------- *** /tmp/T0a01239 Mon Oct 12 19:29:24 1992 --- living.c Mon Oct 12 19:05:10 1992 *************** *** 37,43 **** if(tmp->type==POTION) { for(j=0;j<6;j++) if(get_attr_value(&(tmp->stats),j) && ((real_value(op,j)+ ! flag*get_attr_value(&(tmp->stats),j)) > classbonus[op->contr->face][j])) return 0; } else { for(j=0;j<6;j++) --- 37,43 ---- if(tmp->type==POTION) { for(j=0;j<6;j++) if(get_attr_value(&(tmp->stats),j) && ((real_value(op,j)+ ! flag*get_attr_value(&(tmp->stats),j)) > 20+classbonus[op->contr->face][j])) return 0; } else { for(j=0;j<6;j++) From owner-crossfire Tue Oct 13 05:04:54 1992 Received: by ifi.uio.no id ; Tue, 13 Oct 1992 14:05:21 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Tue, 13 Oct 1992 14:05:17 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA11550; Tue, 13 Oct 92 09:04:54 -0400 Date: Tue, 13 Oct 92 09:04:54 -0400 From: prp@SEI.CMU.EDU Message-Id: <9210131304.AA11550@fs.sei.cmu.edu> To: crossfire@ifi.uio.no Subject: Bug fix for cleanup Status: RO For various reasons, I altered TMPDIR to /usr/tmp and noticed the following. Many map files get left - the map files are not being cleaned up. The fix is to be found in main.c and follows here. These diffs are against 0.87.8 Pat Place prp@sei.cmu.edu --- patch follows --- *** /tmp/da11542 Tue Oct 13 09:02:47 1992 --- main.c Tue Oct 13 08:58:24 1992 *************** *** 1891,1899 **** fprintf(stderr,"Cleaning up...\n"); for(m=first_map;m!=NULL;m=m->next) { ! sprintf(buf,"/tmp/%s.oo.%d",m->name,getpid()); unlink(buf); ! sprintf(buf,"/tmp/%s.om.%d",m->name,getpid()); unlink(buf); } } --- 1891,1899 ---- fprintf(stderr,"Cleaning up...\n"); for(m=first_map;m!=NULL;m=m->next) { ! sprintf(buf,"%s/%s.oo.%d",TMPDIR,m->name,getpid()); unlink(buf); ! sprintf(buf,"%s/%s.om.%d",TMPDIR,m->name,getpid()); unlink(buf); } } From owner-crossfire Mon Oct 12 09:09:21 1992 Received: by ifi.uio.no id ; Mon, 12 Oct 1992 05:09:48 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 12 Oct 1992 05:09:36 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA25318; Mon, 12 Oct 1992 14:09:23 +1000 From: Rupert G. Goldie Message-Id: <199210120409.AA25318@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA15745; Mon, 12 Oct 92 14:09:21 EST Date: Mon, 12 Oct 92 14:09:21 EST To: crossfire@ifi.uio.no Subject: Holy word archetype Status: RO I brilliantly forgot to include the holy_word archetype in my spell patch the other day. Here it is. Sorry for the inconvenience. -Rupert --------------------------cut here 8<--------------------------------------- Object holy_word name fear type 102 face 846 anim 846 847 848 mina speed 1 attacktype 8193 wc -30 dam 3 flying 1 no_pick 1 end From owner-crossfire Fri Oct 9 03:19:45 1992 Received: by ifi.uio.no id ; Fri, 9 Oct 1992 14:20:23 +0100 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Fri, 9 Oct 1992 14:20:05 +0100 Received: from orion.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Fri, 9 Oct 1992 08:19:48 -0500 Received: from localhost by orion.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Fri, 9 Oct 1992 08:19:47 -0500 Message-Id: <199210091319.AA02039@orion.cs.purdue.edu> To: crossfire@ifi.uio.no Subject: Re: Saved games again In-Reply-To: Your message of Thu, 08 Oct 92 19:36:58 EST. <199210090037.AA01984@phoenix.cs.purdue.edu> Date: Fri, 09 Oct 92 08:19:45 EST From: dgc@cs.purdue.edu (Doug Crabill) Status: RO I was thinking this morning of yet another way to implement saving. In addition to having a player name and a password, we could have a campaign name. Once a player is created in a campaign, he cannot change campaigns. For every campaign in existance, there would be a: crossfire/lib/campaigns/campaign_name/maps crossfire/lib/campaigns/campaign_name/players The maps directory would be initially empty. Any time a new map was visited (changed) it would be copied into the campaign maps directory (only the .om file). This would keep the space used to a minimum. Crossfire would always check the campaign maps area first when characters would move into a new map. If that map didn't exist in the campaign map area it would be copied from crossfire/lib/maps/whatever. This seems to solve many of the problems people have been mentioning about saving. Doug From owner-crossfire Fri Oct 9 03:56:19 1992 Received: by ifi.uio.no id ; Fri, 9 Oct 1992 13:00:15 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 9 Oct 1992 12:56:33 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA25561; Fri, 9 Oct 92 07:56:19 -0400 Date: Fri, 9 Oct 92 07:56:19 -0400 From: prp@SEI.CMU.EDU Message-Id: <9210091156.AA25561@fs.sei.cmu.edu> To: crossfire@ifi.uio.no Subject: Small bug fix Status: RO I haven't seen a patch for this problem for version 0.87.8. Problem: Hold in the inventory some collatable item (e.g., a scroll). Enter a shop and purchase more of the same, these will be added as a separate item, marked (unpaid). As you exit the shop and pay, the separate item will lose the unpaid tag, but will not be merged. The following fix seems to work, though I am a little concerned that I may have introduced a new memory leak. I haven't fully got to grips yet with the full details of the system data structures. Pat Place prp@sei.cmu.edu --- patch follows --- *** /tmp/da21761 Thu Oct 8 19:14:36 1992 --- shop.c Thu Oct 8 19:07:42 1992 *************** *** 107,118 **** } int get_payment(object *pl) { ! object *tmp,*inv; char buf[MAX_BUF],buf2[MAX_BUF]; D_LOCK(pl); for(inv=pl->inv;inv!=NULL;inv=inv->below) ! for(tmp=inv;tmp!=NULL;tmp=tmp->inv) if(IS_UNPAID(tmp)) { strncpy(buf,query_cost_string(tmp,pl,F_BUY),MAX_BUF); if(!pay_for_item(tmp,pl)) { --- 107,119 ---- } int get_payment(object *pl) { ! object *tmp,*inv, *tmp2; char buf[MAX_BUF],buf2[MAX_BUF]; D_LOCK(pl); for(inv=pl->inv;inv!=NULL;inv=inv->below) ! for(tmp=inv;tmp!=NULL;tmp=tmp2) { ! tmp2 = tmp->inv; if(IS_UNPAID(tmp)) { strncpy(buf,query_cost_string(tmp,pl,F_BUY),MAX_BUF); if(!pay_for_item(tmp,pl)) { *************** *** 123,132 **** --- 124,136 ---- return 0; } else { UNSET_UNPAID(tmp); + remove_ob(tmp); + insert_ob_in_ob(tmp, pl); sprintf(buf2,"You paid %s for %s.",buf,query_name(tmp)); draw_info(pl,buf2); } } + } D_UNLOCK(pl); draw_all_inventory(pl); return 1; From owner-crossfire Thu Oct 8 14:36:58 1992 Received: by ifi.uio.no id ; Fri, 9 Oct 1992 12:12:36 +0100 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Fri, 9 Oct 1992 12:12:06 +0100 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Thu, 8 Oct 1992 19:37:02 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Thu, 8 Oct 1992 19:37:00 -0500 Message-Id: <199210090037.AA01984@phoenix.cs.purdue.edu> To: prp@SEI.CMU.EDU Cc: crossfire@ifi.uio.no, burke@cs.purdue.edu Subject: Re: Saved games again In-Reply-To: Your message of "Thu, 08 Oct 92 17:58:27 -0400." <9210082158.AA21475@fs.sei.cmu.edu> Date: Thu, 08 Oct 92 19:36:58 EST From: burke@cs.purdue.edu (Byron Burke) Status: RO >Is there any reason why the current maps shouldn't be saved with the >player? >I realise that this makes the player save file much bigger and also >means that there is a potential problem if the maps get changed and >also a possible problem in restoring the game if the player is being >added to an existing game, due to the differences in current maps, >though this should be something that can be overcome. > >Pat Place prp@sei.cmu.edu If the range of available maps was smaller, we could save a list of the maps that were completely cleared by a player (or maps that had all the generators removed). The next time a player started a game those maps would be empty. This would allow players to play for a while, then restart later and not have to redo levels when working through multi-level places like the 'old mansion' or the 'dark cave'. This could also be done for multi player sessions but would be more difficult. Or disassociate saving the maps from saving the players. You could have a player load a 'quest' that would load a list of maps that have been cleared. There are various ways to do this but the idea I want to get across is instead of saving maps that are an exact image of the current game, it might be sufficent to save the map name and a flag that would indicate wether it should be 'populated' with treasure and monsters or not. just an idea byron From owner-crossfire Thu Oct 8 13:58:27 1992 Received: by ifi.uio.no id ; Thu, 8 Oct 1992 22:58:38 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 8 Oct 1992 22:58:33 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA21475; Thu, 8 Oct 92 17:58:27 -0400 Date: Thu, 8 Oct 92 17:58:27 -0400 From: prp@SEI.CMU.EDU Message-Id: <9210082158.AA21475@fs.sei.cmu.edu> To: crossfire@ifi.uio.no Subject: Saved games again Status: RO Is there any reason why the current maps shouldn't be saved with the player? I realise that this makes the player save file much bigger and also means that there is a potential problem if the maps get changed and also a possible problem in restoring the game if the player is being added to an existing game, due to the differences in current maps, though this should be something that can be overcome. Pat Place prp@sei.cmu.edu From owner-crossfire Thu Oct 8 08:46:46 1992 Received: by ifi.uio.no id ; Thu, 8 Oct 1992 04:47:45 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Thu, 8 Oct 1992 04:47:23 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA05552; Thu, 8 Oct 1992 13:47:00 +1000 From: Rupert G. Goldie Message-Id: <199210080347.AA05552@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA08096; Thu, 8 Oct 92 13:46:46 EST Date: Thu, 8 Oct 92 13:46:46 EST To: crossfire@ifi.uio.no Subject: Re: Problem with save game feature Status: RO Yet another possible solution to the save game problem is too only let people save if they have increased in level since they restored. That way you can still save your character with all the stuff you have found if you play for a (hopefully) not unreasonable amount of time, but you can't do quick save-restore looting runs. -Rupert From owner-crossfire Thu Oct 8 02:27:11 1992 Received: by ifi.uio.no id ; Thu, 8 Oct 1992 02:27:21 +0100 Return-Path: Received: from nella8.cc.monash.edu.au by ifi.uio.no with SMTP id ; Thu, 8 Oct 1992 02:27:11 +0100 Received: by nella8.cc.monash.edu.au (5.57/Ultrix3.0-C) id AA10692; Thu, 8 Oct 92 11:27:01 +1000 Message-Id: <9210080127.AA10692@nella8.cc.monash.edu.au> From: Dougal Scott Date: Thu, 8 Oct 1992 11:26:49 AEST Reply-To: dougal.scott@fcit.monash.edu.au X-Mailer: Mail User's Shell (7.2.3 5/22/91) To: crossfire@ifi.uio.no Subject: Guild maps Status: RO I have put in a couple of levels that are connected to the Guild building in the initial village in the incoming directory of ifi. First level includes a couple of shops, a library, a guildmaster, and his secretary. The second level is more useful and contains the training hall, were low level characters can go to train in combat against the favourite low level monsters of there choice, released at a controlled rate. Mail me any comments, improvements, etc. I know the bottom level could do with a bit of work. Dougal Scott-Dougal.Scott@fcit.monash.edu.au Faculty of Computing & Info Tech I am eager for the pleasures of the flesh more Monash University, Caulfield than for salvation, my soul is dead, so I shall Victoria, AUSTRALIA look after the flesh. -Carmina Burana TBT: From now on BO, GG... save time.. call you BOGG. --It Might as Well be String, The Goodies From owner-crossfire Wed Oct 7 13:44:35 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 09:46:24 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 09:46:13 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA05428; Wed, 7 Oct 1992 18:44:47 +1000 From: Rupert G. Goldie Message-Id: <199210070844.AA05428@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA06404; Wed, 7 Oct 92 18:44:35 EST Date: Wed, 7 Oct 92 18:44:35 EST To: crossfire@ifi.uio.no Subject: Re: Problem with save game feature Status: RO > Just a thought: how about we allow players to keep their items but not their > valuables: gold, diamonds, etc. > Skud. > Tyler Then people will just spend all their valuables before they save. One possible solution is to reduce the value of treasure found based upon the amount of treasure brought into the game by saved players, but again we are just fiddling with the game in order to stop people from abusing the game mechanics. -Rupert From owner-crossfire Wed Oct 7 07:26:32 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 03:27:25 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 03:27:06 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA20826; Wed, 7 Oct 1992 12:26:36 +1000 From: Rupert G. Goldie Message-Id: <199210070226.AA20826@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA05734; Wed, 7 Oct 92 12:26:32 EST Date: Wed, 7 Oct 92 12:26:32 EST To: crossfire@ifi.uio.no Subject: Re: Problem with save game feature Status: RO > Well, relying on the 'good will' of the players and expecting them to play > fair is IMHO a very stupid concept. > I didn't mean to imply that a game should only rely on the good will of players - there should be a reasonable amount of game balance, but I don't think that you want to spend excessive amounts of programming effort to stomp on every rort, especially if the change required would reduce the enjoyability of the game. > A better way of prevent 'excessive' cheating would be to NOT allow objects to > be saved across game. This would prevent the hoarding of money to buy the > good artifacts, etc. The only reason to save characters would be because you > have good stats. > > It would also get rid of 'shared storage characters' that hold mondo stuff > that a lot of players (who play at different times) share. > IMHO this would suck as it reduces the game to searching for potions as they are the only things which permanently increase your stats. Sure it will be nice to find other stuff, but people will just sell it all just before they save and buy potions. (or buy some scrolls, wander into the zoo and zap up a few thousand experience points at no risk). -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Wed Oct 7 06:26:45 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 02:27:33 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 02:27:19 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA13086; Wed, 7 Oct 1992 11:26:52 +1000 From: Rupert G. Goldie Message-Id: <199210070126.AA13086@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA05401; Wed, 7 Oct 92 11:26:45 EST Date: Wed, 7 Oct 92 11:26:45 EST To: crossfire@ifi.uio.no Subject: Re: Problem with save game feature Status: RO > > Yes, I agree that there ought to be a way to "win". Right now I have > a character that's pretty much a god (although I admit I haven't taken > on the zoo). > > Not only are "easy" levels a problem, but also big shops. If you > have lots of money (or diamonds), then all you need to do is save, > restore, go to a big magic shop in one of the cities and find > artifacts. If you don't find them in the easy-to-get-to-stores, just > save and restore again... I really think that you should _never_ be able to walk into a shop and buy an artifact. Even though they are expensive they shouldn't be just lying around some store. On the subject of saving and restoring in a new game just to get money/items etc: Yes there should be some game balancing effects to minimise such rorts, but also it is up to the players to "play fair". Sure you can save and restore to your hearts content but you are really bending the spirit of the game. Nethack has some similar problems where bloody-minded persistence can get you a mega-character with little risk, but I personally prefer to play for fun. One option, if you have plenty of disk space, could be to modify the game saving to also save the maps as you have left them (they're saved in /tmp anyway when you leave a level). -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au From owner-crossfire Tue Oct 6 18:36:03 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 09:37:29 +0100 Return-Path: Received: from cscihp.ecst.csuchico.edu by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 09:37:25 +0100 Message-Id: <199210070837.AAifi.uio.no25859@ifi.uio.no> Received: by cscihp.ecst.csuchico.edu (16.6/16.2-1) id AA23103; Wed, 7 Oct 92 01:36:04 -0700 From: Skud the Great Subject: Re: Problem with save game feature To: rgg@aaii.oz.au (Rupert G. Goldie) Date: Wed, 7 Oct 92 1:36:03 PDT Cc: crossfire@ifi.uio.no In-Reply-To: <199210070226.AA20826@yarra-glen.aaii.oz.au>; from "Rupert G. Goldie" at Oct 7, 92 12:26 pm X-Mailer: ELM [version 2.3 PL11] Status: RO Just a thought: how about we allow players to keep their items but not their valuables: gold, diamonds, etc. Skud. Tyler From owner-crossfire Tue Oct 6 18:23:36 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 03:23:50 +0100 Return-Path: Received: from mcenroe.cs.unc.edu by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 03:23:48 +0100 Received: from bodie by mcenroe.cs.unc.edu (5.65/UNC_08_21_92) id AA21331; Tue, 6 Oct 92 22:23:37 -0400 Received: by bodie.cs.unc.edu (5.65/UNC_02-28-90) id AA13719; Tue, 6 Oct 92 22:23:36 -0400 Date: Tue, 6 Oct 92 22:23:36 -0400 From: Andrew Bell Message-Id: <9210070223.AA13719@bodie.cs.unc.edu> To: crossfire@ifi.uio.no, jtraub+@cmu.edu Subject: Re: Problem with save game feature Status: RO >Well, relying on the 'good will' of the players and expecting them to play >fair is IMHO a very stupid concept. But so is wasting time making sure other people play fair... spend timne on more useful and interesting features. If people cheat, they cheat. So what, anyone can get the source code and change it how they like. -Andrew Bell bell@cs.unc.edu From owner-crossfire Tue Oct 6 18:07:07 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 03:08:32 +0100 Return-Path: Received: from PO4.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 03:08:28 +0100 Received: by po4.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 6 Oct 92 22:08:21 EDT Received: via switchmail; Tue, 6 Oct 1992 22:08:17 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 6 Oct 1992 22:07:14 -0400 (EDT) Received: via niftymail; Tue, 6 Oct 1992 22:07:08 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 6 Oct 1992 22:07:07 -0400 (EDT) From: Moonchilde Subject: Re: Problem with save game feature To: crossfire@ifi.uio.no In-Reply-To: <199210070126.AA13086@yarra-glen.aaii.oz.au> References: <199210070126.AA13086@yarra-glen.aaii.oz.au> Message-Id: <718423627.13844.0@freehold.andrew.cmu.edu> Status: RO Well, relying on the 'good will' of the players and expecting them to play fair is IMHO a very stupid concept. A better way of prevent 'excessive' cheating would be to NOT allow objects to be saved across game. This would prevent the hoarding of money to buy the good artifacts, etc. The only reason to save characters would be because you have good stats. It would also get rid of 'shared storage characters' that hold mondo stuff that a lot of players (who play at different times) share. --Moonchilde ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Isn't humanity egocentric? Whenever we talk, we say "Here's my two cents worth," but we only offer "a penny for your thoughts." --ariel@cs.ucla.edu Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Tue Oct 6 17:04:51 1992 Received: by ifi.uio.no id ; Wed, 7 Oct 1992 02:02:58 +0100 Return-Path: Received: from inet-gw-2.pa.dec.com by ifi.uio.no with SMTP id ; Wed, 7 Oct 1992 02:02:55 +0100 Received: by inet-gw-2.pa.dec.com; id AA00528; Tue, 6 Oct 92 18:02:51 -0700 Received: by aidoc1 id AA19891; Tue, 6 Oct 92 21:04:51 -0400 From: tatlow@athena.lmo.dec.com Received: by dash (5.57/4.7) id AA03709; Tue, 6 Oct 92 21:04:51 -0400 Date: Tue, 6 Oct 92 21:04:51 -0400 Message-Id: <9210070104.AA03709@dash> To: crossfire@ifi.uio.no In-Reply-To: Frank Tore Johansen's message of Tue, 6 Oct 1992 21:27:03 +0100 <199210062027.AAholmenkollen.ifi.uio.no23970@holmenkollen.ifi.uio.no> Subject: Problem with save game feature Status: RO Yes, I agree that there ought to be a way to "win". Right now I have a character that's pretty much a god (although I admit I haven't taken on the zoo). Not only are "easy" levels a problem, but also big shops. If you have lots of money (or diamonds), then all you need to do is save, restore, go to a big magic shop in one of the cities and find artifacts. If you don't find them in the easy-to-get-to-stores, just save and restore again... T? ================================================================== Tom Tatlow "The Question" Work: Digital Equipment Corporation, AI Technology Center tatlow@athena.lmo.dec.com (508) 480-5397 Home: Post Office Box 1035, Berlin, MA 01503 tom@math.mit.edu (617) 876-6216 ================================================================== From owner-crossfire Tue Oct 6 13:35:43 1992 Received: by ifi.uio.no id ; Tue, 6 Oct 1992 22:38:02 +0100 Return-Path: Received: from PO3.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Tue, 6 Oct 1992 22:37:58 +0100 Received: by po3.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 6 Oct 92 17:37:52 EDT Received: via switchmail; Tue, 6 Oct 1992 17:37:52 -0400 (EDT) Received: from elara.esl.acs.cmu.edu via qmail ID ; Tue, 6 Oct 1992 17:36:04 -0400 (EDT) Received: from elara.esl.acs.cmu.edu via qmail ID ; Tue, 6 Oct 1992 17:35:45 -0400 (EDT) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.elara.esl.acs.cmu.edu.pmax.ul4 via MS.5.6.elara.esl.acs.cmu.edu.pmax_ul4; Tue, 6 Oct 1992 17:35:43 -0400 (EDT) Message-Id: Date: Tue, 6 Oct 1992 17:35:43 -0400 (EDT) From: "Eric A. Anderson" To: crossfire@ifi.uio.no Subject: Re: Con bonus In-Reply-To: <199210060356.AAhadd.ifi.uio.no20510@hadd.ifi.uio.no> References: <199210060356.AAhadd.ifi.uio.no20510@hadd.ifi.uio.no> Status: RO Frank Tore Johansen writes: > > Is there a reason that the con bonus stops happening at level 11? > > All you get from that point on is 2 hp/level. It would be nice to > > still be getting at least some of the con bonus. > > -Eric > > You've already gotten 10 times the con-bonus from your first 10 levels. > I can't figure out any way to balance the game while keeping the con-bonus > all the way. > Of course, I could just throw out the whole AD&D trash and try to make > something better. Maybe something like moria, where AC also helps against > damage, and the range is from 0 to 100. Don't know how Con works there, > but I suppose it's similar. I personally like the gurps system. There you have passive defense(armour), active defense(blocking) dodging, etc. But if someone hits you it's going to do damage. This system would make it harder for the go up and stand and bash on a big monster theory of life. -Eric ********************************************************* "Overhead, without any fuss, the stars were going out." -The Nine Billion Names of God "Yes, you're very smart. Shut up." -In "The Princess Bride" ********************************************************* From frankj Tue Oct 6 21:27:03 1992 Subject: Re: Problem with save game feature To: crossfire@ifi.uio.no Date: Tue, 6 Oct 1992 21:27:03 +0100 In-Reply-To: <9210061555.dujid.prp@SEI>; from "Pat Place" at Oct 6, 92 3:50 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > I realise that the whole issue of game saving is problematic, and I > certainly don't have any idea what the right solution should be, but > I do think that the current approach isn't quite right. Indeed, it is very problematic. This is a multiplayer game, thus several easy approaches to solve this problem must be dismissed. In the next version, two things will have (already has) changed: - If you have a higher level than the monster you kill, you get less experience for it. - Potions are *much* more rare and expensive. But that's not enough... Since it is possible to save the game, not even *one* map can be too easy to solve. The reward you get for the different levels must depend directly on how to how difficult it is to "solve". Another problem is if part of the difficulty of the map consist of puzzles. These will of course be easy the second time... The only way to go seems to be having *lots* of different maps, and to make quests to force the player to go through most of them. Due to these limitations, there must be a way to "win" crossfire. Possibly this consist of becoming a "wizard" or a "god", and being able to build ones own maps/items. Hmm...enough ramblings for now... Gee, how easy it is to destroy a simple and fun arcade game... 8) -Frank. From owner-crossfire Tue Oct 6 22:27:03 1992 Received: by ifi.uio.no id ; Tue, 6 Oct 1992 21:27:09 +0100 Return-Path: Received: from holmenkollen.ifi.uio.no by ifi.uio.no with SMTP id ; Tue, 6 Oct 1992 21:27:08 +0100 From: Frank Tore Johansen Received: by holmenkollen.ifi.uio.no ; Tue, 6 Oct 1992 21:27:03 +0100 Message-Id: <199210062027.AAholmenkollen.ifi.uio.no23970@holmenkollen.ifi.uio.no> Subject: Re: Problem with save game feature To: crossfire@ifi.uio.no Date: Tue, 6 Oct 1992 21:27:03 +0100 In-Reply-To: <9210061555.dujid.prp@SEI>; from "Pat Place" at Oct 6, 92 3:50 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > I realise that the whole issue of game saving is problematic, and I > certainly don't have any idea what the right solution should be, but > I do think that the current approach isn't quite right. Indeed, it is very problematic. This is a multiplayer game, thus several easy approaches to solve this problem must be dismissed. In the next version, two things will have (already has) changed: - If you have a higher level than the monster you kill, you get less experience for it. - Potions are *much* more rare and expensive. But that's not enough... Since it is possible to save the game, not even *one* map can be too easy to solve. The reward you get for the different levels must depend directly on how to how difficult it is to "solve". Another problem is if part of the difficulty of the map consist of puzzles. These will of course be easy the second time... The only way to go seems to be having *lots* of different maps, and to make quests to force the player to go through most of them. Due to these limitations, there must be a way to "win" crossfire. Possibly this consist of becoming a "wizard" or a "god", and being able to build ones own maps/items. Hmm...enough ramblings for now... Gee, how easy it is to destroy a simple and fun arcade game... 8) -Frank. From owner-crossfire Tue Oct 6 08:40:01 1992 Received: by ifi.uio.no id ; Tue, 6 Oct 1992 04:40:42 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Tue, 6 Oct 1992 04:40:20 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA01165; Tue, 6 Oct 1992 13:40:04 +1000 From: Rupert G. Goldie Message-Id: <199210060340.AA01165@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA03399; Tue, 6 Oct 92 13:40:01 EST Date: Tue, 6 Oct 92 13:40:01 EST To: crossfire@ifi.uio.no Subject: patch to my spell patch. Status: RO This is a patch to fix a couple of problems people have had with my last patch. -Rupert --------------------------------cut here 8<----------------------------------- *** /tmp/T0a09393 Tue Oct 6 13:08:52 1992 --- living.c Tue Oct 6 11:54:27 1992 *************** *** 52,61 **** for(j=0;j<6;j++) if(op->contr->stat_count[j]) set_attr_value(&(op->contr->orig_stats),j, ! get_attr_value(&(op->contr->orig_stats),j)+get_attr_value(&(tmp->stats),j)); else set_attr_value(&(op->stats),j, ! get_attr_value(&(op->stats),j)+get_attr_value(&(tmp->stats),j)); if(flag==1) op->immune|=tmp->immune, --- 52,61 ---- for(j=0;j<6;j++) if(op->contr->stat_count[j]) set_attr_value(&(op->contr->orig_stats),j, ! get_attr_value(&(op->contr->orig_stats),j)+flag*get_attr_value(&(tmp->stats),j)); else set_attr_value(&(op->stats),j, ! get_attr_value(&(op->stats),j)+flag*get_attr_value(&(tmp->stats),j)); if(flag==1) op->immune|=tmp->immune, *** /tmp/T0a09393 Tue Oct 6 13:08:57 1992 --- proto.h Mon Oct 5 17:52:59 1992 *************** *** 281,287 **** extern int cast_change_attr( object *op,int dir,int spell_type ); extern void set_attr_value( living *stats, int attr, signed char value ); extern signed char get_attr_value( living *stats, int attr ); ! extern int cast_create_obj( object *op,int dir,char *archetype ); extern int cast_earth2dust( object *op ); extern int isqrt ( int n ); extern void set_magic ( mapstruct *m, object *op, int magic ); --- 281,287 ---- extern int cast_change_attr( object *op,int dir,int spell_type ); extern void set_attr_value( living *stats, int attr, signed char value ); extern signed char get_attr_value( living *stats, int attr ); ! extern int cast_create_obj( object *op,int dir,char *arch ); extern int cast_earth2dust( object *op ); extern int isqrt ( int n ); extern void set_magic ( mapstruct *m, object *op, int magic ); *** /tmp/T0a09393 Tue Oct 6 13:08:58 1992 --- spells.c Mon Oct 5 17:52:40 1992 *************** *** 830,836 **** int ! cast_create_obj(object *op,int dir,char *archetype) { object *tmp; if(blocked(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir])) { --- 830,836 ---- int ! cast_create_obj(object *op,int dir,char *arch) { object *tmp; if(blocked(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir])) { *************** *** 837,843 **** draw_info(op,"Something is in the way."); return 0; } ! tmp=get_archetype(archetype); tmp->x=op->x+freearr_x[dir],tmp->y=op->y+freearr_y[dir]; insert_ob_in_map(tmp,op->map); return 1; --- 837,843 ---- draw_info(op,"Something is in the way."); return 0; } ! tmp=get_archetype(arch); tmp->x=op->x+freearr_x[dir],tmp->y=op->y+freearr_y[dir]; insert_ob_in_map(tmp,op->map); return 1; -- Rupert G. Goldie, Research Scientist rgg@aaii.oz.au Australian Artificial Intelligence Institute Life's a bitch and then you die. From owner-crossfire Tue Oct 6 05:56:41 1992 Received: by ifi.uio.no id ; Tue, 6 Oct 1992 04:56:44 +0100 Return-Path: Received: from hadd.ifi.uio.no by ifi.uio.no with SMTP id ; Tue, 6 Oct 1992 04:56:43 +0100 From: Frank Tore Johansen Received: by hadd.ifi.uio.no ; Tue, 6 Oct 1992 04:56:42 +0100 Message-Id: <199210060356.AAhadd.ifi.uio.no20510@hadd.ifi.uio.no> Subject: Re: Con bonus To: crossfire@ifi.uio.no Date: Tue, 6 Oct 1992 04:56:41 +0100 In-Reply-To: ; from "Eric A. Anderson" at Oct 4, 92 11:28 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Is there a reason that the con bonus stops happening at level 11? > All you get from that point on is 2 hp/level. It would be nice to > still be getting at least some of the con bonus. > -Eric You've already gotten 10 times the con-bonus from your first 10 levels. I can't figure out any way to balance the game while keeping the con-bonus all the way. Of course, I could just throw out the whole AD&D trash and try to make something better. Maybe something like moria, where AC also helps against damage, and the range is from 0 to 100. Don't know how Con works there, but I suppose it's similar. -Frank. From owner-crossfire Mon Oct 5 10:36:35 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 06:37:02 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 06:36:53 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA29443; Mon, 5 Oct 1992 15:36:37 +1000 From: Rupert G. Goldie Message-Id: <199210050536.AA29443@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA01100; Mon, 5 Oct 92 15:36:35 EST Date: Mon, 5 Oct 92 15:36:35 EST To: crossfire@ifi.uio.no Subject: Re: treasures Status: RO I agree that we don't want excessive amounts of artifacts, but I do think that artifacts should require some sort of quest to find them. This means that you need to be able to place an artifact or random artifact at the end of some level. Of course people may make artifacts too accessible, but I think part of the development of this game is going to require some "peer review" of all the maps so we have a good set of maps when crossfire 1.0 is released. Artifacts should be hard to get and I think the current method of placement can make them too easy to get. (someone here found bonecrusher in the basement of the old house in the starting village !) -Rupert From owner-crossfire Mon Oct 5 11:32:48 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 20:33:42 +0100 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 20:33:31 +0100 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Mon, 5 Oct 92 15:33:17 EDT Received: via switchmail; Mon, 5 Oct 1992 15:33:16 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Mon, 5 Oct 1992 15:33:05 -0400 (EDT) Received: via niftymail; Mon, 5 Oct 1992 15:32:49 -0400 (EDT) Sender: "Joseph L. Traub" Date: Mon, 5 Oct 1992 15:32:48 -0400 (EDT) From: Moonchilde Subject: Re: save game feature To: crossfire@ifi.uio.no In-Reply-To: <199210051910.AAkolsaas.ifi.uio.no16482@kolsaas.ifi.uio.no> References: <199210051910.AAkolsaas.ifi.uio.no16482@kolsaas.ifi.uio.no> Message-Id: <718313568.7439.0@freehold.andrew.cmu.edu> Status: RO Aside from the few patches I've sent in, the save game feature has worked fine since .87.7 (I think) --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Isn't humanity egocentric? Whenever we talk, we say "Here's my two cents worth," but we only offer "a penny for your thoughts." --ariel@cs.ucla.edu Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From frankj Mon Oct 5 20:10:59 1992 Subject: Re: save game feature To: crossfire@ifi.uio.no Date: Mon, 5 Oct 1992 20:10:59 +0100 In-Reply-To: <9210051847.AA23219@manager.cd.amdahl.com>; from "Byong Pak" at Oct 5, 92 11:47 am X-Mailer: ELM [version 2.3 PL11] Status: RO > Has the save game feature been implimented yet? > I have heard that it was buggy... has it been perfected yet? I thought it worked in 0.87.8, but I must admit I don't remember... It works great in the current unreleased version... If anyone else has problem, I guess it's another reason to hurry the next release... -Frank. From owner-crossfire Mon Oct 5 21:10:59 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 20:11:01 +0100 Return-Path: Received: from kolsaas.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 20:11:00 +0100 From: Frank Tore Johansen Received: by kolsaas.ifi.uio.no ; Mon, 5 Oct 1992 20:10:59 +0100 Message-Id: <199210051910.AAkolsaas.ifi.uio.no16482@kolsaas.ifi.uio.no> Subject: Re: save game feature To: crossfire@ifi.uio.no Date: Mon, 5 Oct 1992 20:10:59 +0100 In-Reply-To: <9210051847.AA23219@manager.cd.amdahl.com>; from "Byong Pak" at Oct 5, 92 11:47 am X-Mailer: ELM [version 2.3 PL11] Status: RO > Has the save game feature been implimented yet? > I have heard that it was buggy... has it been perfected yet? I thought it worked in 0.87.8, but I must admit I don't remember... It works great in the current unreleased version... If anyone else has problem, I guess it's another reason to hurry the next release... -Frank. From owner-crossfire Mon Oct 5 04:47:15 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 19:49:40 +0100 Return-Path: Received: from mcsun.EU.net by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 19:49:29 +0100 Received: from charon.amdahl.com by mcsun.EU.net with SMTP id AA05494 (5.65b/CWI-2.179); Mon, 5 Oct 1992 19:49:21 +0100 Received: from amdahl.uts.amdahl.com (sde-hy.uts.amdahl.com) by charon.amdahl.com (4.0/SMI-4.1/DNS) id AA21750; Mon, 5 Oct 92 11:49:16 PDT Received: by amdahl.uts.amdahl.com (/\../\ Smail3.1.14.4 #14.11) id ; Mon, 5 Oct 92 11:47 PDT Received: by juts.ccc.amdahl.com (/\../\ Smail3.1.14.4 #14.6) id ; Mon, 5 Oct 92 11:48 PDT Received: from nephthys.cd.amdahl.com by manager.cd.amdahl.com (4.1/SMI-4.1) id AA23219; Mon, 5 Oct 92 11:47:15 PDT Date: Mon, 5 Oct 92 11:47:15 PDT From: bsp10@cd.amdahl.com (Byong Pak) Message-Id: <9210051847.AA23219@manager.cd.amdahl.com> To: crossfire@ifi.uio.no Subject: save game feature Status: RO Has the save game feature been implimented yet? I have heard that it was buggy... has it been perfected yet? Inquireing minds want to know.. ^^^^ sp? Byong From owner-crossfire Mon Oct 5 07:53:06 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 06:09:49 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 06:08:17 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA03697; Mon, 5 Oct 1992 12:53:35 +1000 From: Rupert G. Goldie Message-Id: <199210050253.AA03697@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA00795; Mon, 5 Oct 92 12:53:06 EST Date: Mon, 5 Oct 92 12:53:06 EST To: crossfire@ifi.uio.no Subject: Some new spells Status: RO Here is a patch for some new spells in crossfire. I have diffed against the base crossfire0.87.8, so it also contains my last patch for bracing. I have also added '.' as a command. '.' will fire at you, so you can apply a spell to yourself. Note that it is just '.' not shift-. as shift-. is '>' which is already used. The spells added are: create fire wall - creates a temporary wall of fire. Use the 'strength' command to make the spell last longer. create frost wall - creates a temporary wall of frost. holy word - similar to turn undead, but does a bit of damage as well. invisibility - makes you invisible, but if you hit anything or cast a spell you become visible again. improved invisibility - same affect as an amulet. minor, medium, major healing - heals you or someone next to you. heal - heal to full. create food - creates a food next to you. earth to dust - destroys earth walls around you. The strength determines how far around you is affected. Strength of 3 affects one square away, strength of 6 affects 2 squares, etc up to 15 strength. Also, you cannot affect a range of more than your level. armour - gives you temporary magic armour. Again strength affects the armour class produced. ac = 8-(strength/3). You can't put more than 3 times your level in strength points. You can also cast this on someone else. strength - temporarily change strength. strength = 15+(strength/3). You can't put more than 3 times your level in strength points. Note also that this strength is absolute, magic items don't affect it. It may also reduce strength. It can also be applied to someone else. dexterity - as strength but affects dexterity. I haven't tested these spells extensively, so please mail me any bug reports. Playtesting will probably also show whether the spellpoint cost or spell effect needs any tweaking. Enjoy, Rupert ------------------>8 cut here 8<------------------------------------------------ diff -c crossfire-0.87.8/define.h crossfire.local/define.h *** crossfire-0.87.8/define.h Thu Sep 24 16:24:16 1992 --- crossfire.local/define.h Sat Oct 3 17:46:33 1992 *************** *** 177,183 **** #define NROFPFACES 10 /* How many player icons/classes there are */ ! #define NROFREALSPELLS 22 /* NROFSPELLS will very soon be obsolete */ #define NROFMATERIALS 8 --- 177,183 ---- #define NROFPFACES 10 /* How many player icons/classes there are */ ! #define NROFREALSPELLS 36 /* NROFSPELLS will very soon be obsolete */ #define NROFMATERIALS 8 diff -c crossfire-0.87.8/global.h crossfire.local/global.h *** crossfire-0.87.8/global.h Thu Sep 24 16:24:16 1992 --- crossfire.local/global.h Mon Oct 5 11:18:46 1992 *************** *** 167,172 **** --- 167,174 ---- unsigned char key_down; /* Last move-key still held down */ unsigned char mode; /* Mode of player: */ unsigned char berzerk; /* Affects usage of CTRL-direction */ + unsigned braced:1; /* Will not move if braced, only attack */ + unsigned tmp_invis:1; /* Will invis go away when we attack ? */ /* 0=normal, 1=pick up while walking, 2=stop after pick, 3=stop before pick */ unsigned char state,infoline; unsigned char writing; /* When true, the player is writing text */ *************** *** 194,200 **** unsigned short scrollsize_food; /* How large the last scrollbar was */ short shootstrength; /* Strength of spell */ object *golem; /* Which golem is controlled */ ! living orig_stats; /* Can be less in case of poisoning */ living last_stats; /* Last stats drawn with draw_stats() */ float last_speed; signed long last_value; /* Same usage as last_stats */ --- 196,204 ---- unsigned short scrollsize_food; /* How large the last scrollbar was */ short shootstrength; /* Strength of spell */ object *golem; /* Which golem is controlled */ ! living orig_stats; /* hijacked for cast_change_attr by rgg */ ! short stat_count[6]; /* counter for spell-modified stats */ ! short ac_count; /* counter for aormour spell */ living last_stats; /* Last stats drawn with draw_stats() */ float last_speed; signed long last_value; /* Same usage as last_stats */ diff -c crossfire-0.87.8/input.c crossfire.local/input.c *** crossfire-0.87.8/input.c Thu Sep 24 16:24:17 1992 --- crossfire.local/input.c Mon Oct 5 11:50:17 1992 *************** *** 1218,1232 **** draw_stats(pl->ob); return 0; } ! if(!strncmp(str,"speed",buf_len)) { ! int i; ! if(p==NULL||!sscanf(++p,"%d", &i)) { ! sprintf(errmsg,"Current speed is %d",max_time); ! draw_info(op,errmsg); return 0; } ! max_time=i; ! draw_info(op,"The speed is changed."); return 0; } if(!strncmp(str,"goto",buf_len)) { --- 1218,1261 ---- draw_stats(pl->ob); return 0; } ! if((!strncmp(str,"sp",buf_len))){ ! if(!strncmp(str,"speed",(buf_len<3?3:buf_len))) { ! int i; ! if(p==NULL||!sscanf(++p,"%d", &i)) { ! sprintf(errmsg,"Current speed is %d",max_time); ! draw_info(op,errmsg); ! return 0; ! } ! max_time=i; ! draw_info(op,"The speed is changed."); return 0; } ! iii = 0; ! thing[0] = '\0'; ! if(p==NULL||!sscanf(++p,"%s %d",thing,&iii)) { ! draw_info(op,"Who?"); ! return 0; ! } ! if (thing==NULL){ ! draw_info(op,"Who?"); ! return 0; ! } ! for(pl=first_player;pl!=NULL;pl=pl->next) ! if(!strcmp(pl->ob->name,thing)) ! if (iii!=0){ ! sprintf(buf,"%s has been altered.",pl->ob->name); ! draw_info(op,buf); ! pl->ob->stats.sp = iii; ! } ! else{ ! sprintf(buf,"%s has been charged.",pl->ob->name); ! draw_info(op,buf); ! pl->ob->stats.sp = pl->ob->stats.maxsp; ! } ! if(pl==NULL){ ! sprintf(buf,"Who?"); ! draw_info(op,buf); ! } return 0; } if(!strncmp(str,"goto",buf_len)) { *************** *** 1362,1396 **** return 0; } - if((!strncmp(str,"sp",buf_len))){ - iii = 0; - thing[0] = '\0'; - if(p==NULL||!sscanf(++p,"%s %d",thing,&iii)) { - draw_info(op,"Who?"); - return 0; - } - if (thing==NULL){ - draw_info(op,"Who?"); - return 0; - } - for(pl=first_player;pl!=NULL;pl=pl->next) - if(!strcmp(pl->ob->name,thing)) - if (iii!=0){ - sprintf(buf,"%s has been altered.",pl->ob->name); - draw_info(op,buf); - pl->ob->stats.sp = iii; - } - else{ - sprintf(buf,"%s has been charged.",pl->ob->name); - draw_info(op,buf); - pl->ob->stats.sp = pl->ob->stats.maxsp; - } - if(pl==NULL){ - sprintf(buf,"Who?"); - draw_info(op,buf); - } - return 0; - } if((!strncmp(str,"food",buf_len))){ iii = 0; thing[0] = '\0'; --- 1391,1396 ---- *************** *** 1544,1549 **** --- 1544,1553 ---- return parse_writing(op,k); else { switch(k) { + case '.': pl->fire_on=1; + move_player(op,0,op->direction); + pl->fire_on=0; + break; case 'l': move_player(op,3,1);break; case 'h': move_player(op,7,0);break; case 'j': move_player(op,5,3);break; *************** *** 1713,1718 **** --- 1717,1732 ---- break; case 's': if (IS_WIZ(op)) (void) fprintf(stderr,"%d used, %d free.\n",count_used(),count_free()); + else { + if (op->contr->braced) { + op->contr->braced = 0; + draw_info(op, "You are no longer braced."); + } + else { + op->contr->braced = 1; + draw_info(op, "You are now braced."); + } + } break; case 'S': if(IS_WIZ(op)) (void) ss_dump_table(1); diff -c crossfire-0.87.8/living.c crossfire.local/living.c *** crossfire-0.87.8/living.c Thu Sep 24 16:24:17 1992 --- crossfire.local/living.c Mon Oct 5 11:14:41 1992 *************** *** 27,65 **** #include "living.h" int change_abil(object *op, object *tmp) { ! int flag=IS_APPLIED(tmp)?1:-1,i; if(tmp->type==POTION) { ! if((tmp->stats.Str&&((i=(op->stats.Str+flag*tmp->stats.Str))> ! 20+classbonus[op->contr->face][STR]||i<1))|| ! (tmp->stats.Dex&&((i=(op->stats.Dex+flag*tmp->stats.Dex))> ! 20+classbonus[op->contr->face][DEX]||i<1))|| ! (tmp->stats.Con&&((i=(op->stats.Con+flag*tmp->stats.Con))> ! 20+classbonus[op->contr->face][CON]||i<1))|| ! (tmp->stats.Wis&&((i=(op->stats.Wis+flag*tmp->stats.Wis))> ! 20+classbonus[op->contr->face][WIS]||i<1))|| ! (tmp->stats.Cha&&((i=(op->stats.Cha+flag*tmp->stats.Cha))> ! 20+classbonus[op->contr->face][CHA]||i<1))|| ! (tmp->stats.Int&&((i=(op->stats.Int+flag*tmp->stats.Int))> ! 20+classbonus[op->contr->face][INT]||i<1))) ! return 0; ! } else ! if((tmp->stats.Int&&((i=(op->stats.Int+flag*tmp->stats.Int))>25||i<1))|| ! (tmp->stats.Dex&&((i=(op->stats.Dex+flag*tmp->stats.Dex))>25||i<1))|| ! (tmp->stats.Str&&((i=(op->stats.Str+flag*tmp->stats.Str))>25||i<1))|| ! (tmp->stats.Con&&((i=(op->stats.Con+flag*tmp->stats.Con))>25||i<1))|| ! (tmp->stats.Wis&&((i=(op->stats.Wis+flag*tmp->stats.Wis))>25||i<1))|| ! (tmp->stats.Cha&&((i=(op->stats.Cha+flag*tmp->stats.Cha))>25||i<1))|| ! (flag==1&&(op->immune&tmp->immune|| op->protected&tmp->protected|| ! op->attacktype&tmp->attacktype))) return 0; ! op->stats.Int+=flag*tmp->stats.Int, ! op->stats.Dex+=flag*tmp->stats.Dex, ! op->stats.Str+=flag*tmp->stats.Str, ! op->stats.Wis+=flag*tmp->stats.Wis, ! op->stats.Cha+=flag*tmp->stats.Cha, ! op->stats.Con+=flag*tmp->stats.Con; if(flag==1) op->immune|=tmp->immune, op->protected|=tmp->protected, --- 27,62 ---- #include "living.h" + #define real_value(op,stat) (op->contr->stat_count[stat] ? \ + get_attr_value(&(op->contr->orig_stats),stat) : \ + get_attr_value(&(op->stats),stat) ) + + int change_abil(object *op, object *tmp) { ! int flag=IS_APPLIED(tmp)?1:-1,i,j; if(tmp->type==POTION) { ! for(j=0;j<6;j++) ! if(get_attr_value(&(tmp->stats),j) && ((real_value(op,j)+ ! flag*get_attr_value(&(tmp->stats),j)) > classbonus[op->contr->face][j])) ! return 0; ! } else { ! for(j=0;j<6;j++) ! if(get_attr_value(&(tmp->stats),j) && ((real_value(op,j)+ ! flag*get_attr_value(&(tmp->stats),j)) > 25)) ! return 0; ! if(flag==1&&(op->immune&tmp->immune|| op->protected&tmp->protected|| ! op->attacktype&tmp->attacktype)) return 0; ! } ! for(j=0;j<6;j++) ! if(op->contr->stat_count[j]) ! set_attr_value(&(op->contr->orig_stats),j, ! get_attr_value(&(op->contr->orig_stats),j)+get_attr_value(&(tmp->stats),j)); ! else ! set_attr_value(&(op->stats),j, ! get_attr_value(&(op->stats),j)+get_attr_value(&(tmp->stats),j)); ! if(flag==1) op->immune|=tmp->immune, op->protected|=tmp->protected, *************** *** 323,328 **** --- 320,328 ---- max=ARMOUR_SPEED(tmp)/10.0; break; } + /* apply armour spell effects */ + if((op->stats.ac>op->contr->orig_stats.ac)&&(op->contr->ac_count)) + op->stats.ac=op->contr->orig_stats.ac; if(op->stats.dam<1) op->stats.dam=1; op->speed=1.0+speed_bonus[op->stats.Dex]; diff -c crossfire-0.87.8/main.c crossfire.local/main.c *** crossfire-0.87.8/main.c Thu Sep 24 16:24:17 1992 --- crossfire.local/main.c Mon Oct 5 11:19:52 1992 *************** *** 47,53 **** draw_info(op,"\" = speak ' = command Q = quit"); draw_info(op,"i = inventory , = get : = look"); draw_info(op,"<> = rotate d = drop ? = help"); ! draw_info(op,"a = apply A = apply below t = throw"); draw_info(op,"e = examine E = examine below"); draw_info(op,"+- = change spell @ = autopick"); draw_info(op,"C = reconfigure movement (cursor) keys"); --- 47,53 ---- draw_info(op,"\" = speak ' = command Q = quit"); draw_info(op,"i = inventory , = get : = look"); draw_info(op,"<> = rotate d = drop ? = help"); ! draw_info(op,"a = apply A = apply below s = brace"); draw_info(op,"e = examine E = examine below"); draw_info(op,"+- = change spell @ = autopick"); draw_info(op,"C = reconfigure movement (cursor) keys"); *************** *** 765,770 **** --- 765,775 ---- void fire(object *op,int dir) { object *tmp,*weap; + if (op->contr->tmp_invis) { /* tmp invis goes away now */ + op->invisible = 0; + op->contr->tmp_invis = 0; + update_object(op); + } switch(op->contr->shoottype) { case 0: return; *************** *** 1179,1185 **** if(op->contr->fire_on) fire(op,dir); else ! if(!move_ob(op,dir)&&!out_of_map(op->map,op->x+dx,op->y+dy)) { stack=tmp=get_map_ob(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir]); while(stack) { if (IS_ALIVE(stack) || CAN_ROLL(stack)) tmp = stack; --- 1184,1190 ---- if(op->contr->fire_on) fire(op,dir); else ! if((op->contr->braced||!move_ob(op,dir))&&!out_of_map(op->map,op->x+dx,op->y+dy)) { stack=tmp=get_map_ob(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir]); while(stack) { if (IS_ALIVE(stack) || CAN_ROLL(stack)) tmp = stack; *************** *** 1195,1205 **** hit_player(tmp,9999,op,AT_PHYSICAL); /* Break through the door */ } } ! if(tmp->type==PLAYER&&op->contr->peaceful) (void) push_ob(tmp,dir,op); ! else if(CAN_ROLL(tmp)) recursive_roll(tmp,dir,op); else if(tmp->stats.hp>=0&&IS_ALIVE(tmp)) { attack_ob(tmp,op); op->speed_left-=op->contr->weapon_sp-1; #if 0 --- 1200,1215 ---- hit_player(tmp,9999,op,AT_PHYSICAL); /* Break through the door */ } } ! if(tmp->type==PLAYER&&op->contr->peaceful&&(!op->contr->braced)) (void) push_ob(tmp,dir,op); ! else if(CAN_ROLL(tmp)&&(!op->contr->braced)) recursive_roll(tmp,dir,op); else if(tmp->stats.hp>=0&&IS_ALIVE(tmp)) { + if (op->contr->tmp_invis) { /* tmp invis goes away now */ + op->invisible = 0; + op->contr->tmp_invis = 0; + update_object(op); + } attack_ob(tmp,op); op->speed_left-=op->contr->weapon_sp-1; #if 0 *************** *** 1223,1232 **** --- 1233,1261 ---- void do_some_living(object *op) { char buf[MAX_BUF]; object *tmp; + int j; int last_food=op->stats.food; int gen_hp=(op->contr->gen_hp+1)*op->stats.maxhp; int gen_sp=(op->contr->gen_sp+1)*op->stats.maxsp; + /* reduce spell increased attributes */ + for(j=0;j<6;j++) { + if(op->contr->stat_count[j]) { + op->contr->stat_count[j]--; + if(!op->contr->stat_count[j]) { + set_attr_value(&(op->stats),j,get_attr_value(&(op->contr->orig_stats),j)); + fix_player(op); + } + } + } + /* reduce armour spell */ + if(op->contr->ac_count) { + op->contr->ac_count--; + if(!op->contr->ac_count) { + op->contr->ac_count=20; + fix_player(op); + } + } if(!op->state&&op->contr->golem==NULL&&--op->last_sp<0) { if(op->stats.spstats.maxsp) op->stats.sp++,op->stats.food--; diff -c crossfire-0.87.8/player.c crossfire.local/player.c *** crossfire-0.87.8/player.c Thu Sep 24 16:24:17 1992 --- crossfire.local/player.c Mon Oct 5 11:19:48 1992 *************** *** 225,230 **** --- 225,235 ---- p->last_stats.wc=0, p->last_stats.ac=0; p->last_stats.sp=0, p->last_stats.maxsp=0; p->last_stats.exp= -1,p->last_stats.food=0; + bzero(&(p->orig_stats),sizeof(living)); + for(i=0;i<6;i++) + p->stat_count[i]=0; + p->orig_stats.ac=20; + p->ac_count=0; p->digestion=0,p->gen_hp=0,p->gen_sp=0; p->chosen_spell=0; p->last_spell= -1; diff -c crossfire-0.87.8/proto.h crossfire.local/proto.h *** crossfire-0.87.8/proto.h Thu Sep 24 16:24:16 1992 --- crossfire.local/proto.h Mon Oct 5 10:43:21 1992 *************** *** 256,262 **** extern int check_spell_known ( object *op, int sp ); extern void cast_spell ( object *op, int dir, int type ); extern int earth_wall ( object *op, int dir ); ! extern int dimmension_door ( object *op, int dir ); extern int summon_monster ( object *op, int dir, char *name ); extern int create_bomb ( object *op, int dir, char *name ); extern int ok_to_put_more ( mapstruct *m, int x, int y, object *op, int immune_stop ); --- 256,262 ---- extern int check_spell_known ( object *op, int sp ); extern void cast_spell ( object *op, int dir, int type ); extern int earth_wall ( object *op, int dir ); ! extern int dimension_door ( object *op, int dir ); extern int summon_monster ( object *op, int dir, char *name ); extern int create_bomb ( object *op, int dir, char *name ); extern int ok_to_put_more ( mapstruct *m, int x, int y, object *op, int immune_stop ); *************** *** 276,281 **** --- 276,288 ---- extern int explode_object ( object *op ); extern void move_fired_arch ( object *op ); extern void move_bullet ( object *op ); + extern int cast_invis( object *op, int spell_type ); + extern int cast_heal( object *op,int dir,int spell_type ); + extern int cast_change_attr( object *op,int dir,int spell_type ); + extern void set_attr_value( living *stats, int attr, signed char value ); + extern signed char get_attr_value( living *stats, int attr ); + extern int cast_create_obj( object *op,int dir,char *archetype ); + extern int cast_earth2dust( object *op ); extern int isqrt ( int n ); extern void set_magic ( mapstruct *m, object *op, int magic ); extern char *describe_ring ( object *op ); diff -c crossfire-0.87.8/spells.c crossfire.local/spells.c *** crossfire-0.87.8/spells.c Thu Sep 24 16:24:17 1992 --- crossfire.local/spells.c Mon Oct 5 12:38:20 1992 *************** *** 29,34 **** --- 29,41 ---- #include "global.h" #include "spells.h" + #define STR 0 + #define DEX 1 + #define CON 2 + #define WIS 3 + #define CHA 4 + #define INT 5 + spell *find_spell(int spelltype) { if(spelltype<0||spelltype>NROFREALSPELLS) return NULL; *************** *** 99,108 **** success=summon_monster(op,dir,"air_elemental"); break; case SP_D_DOOR: ! success=dimmension_door(op,dir); break; ! case SP_WALL: ! success=earth_wall(op,dir); break; case SP_PARALYZE: success=cast_cone(op,dir,0,5,SP_PARALYZE); --- 106,121 ---- success=summon_monster(op,dir,"air_elemental"); break; case SP_D_DOOR: ! success=dimension_door(op,dir); break; ! case SP_FIRE_WALL: ! case SP_FROST_WALL: ! if (op->stats.sp < s->sp+op->contr->shootstrength) { ! draw_info(op,"Not enough spellpoints for that strength."); ! return; ! } ! case SP_EARTH_WALL: ! success=magic_wall(op,dir,type); break; case SP_PARALYZE: success=cast_cone(op,dir,0,5,SP_PARALYZE); *************** *** 123,149 **** case SP_POISON_CLOUD: success=fire_arch(op,dir,"spellball"); break; } if(success) op->stats.sp-=s->sp; } ! int earth_wall(object *op,int dir) { object *tmp; if(blocked(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir])) { draw_info(op,"Something is in the way."); return 0; } ! tmp=get_archetype("earthwall"); tmp->x=op->x+freearr_x[dir],tmp->y=op->y+freearr_y[dir]; insert_ob_in_map(tmp,op->map); - op->stats.sp-=6; draw_stats(op); draw(op); return 1; } ! int dimmension_door(object *op,int dir) { int dist; if(op->contr->count) { dist=op->contr->count; --- 136,211 ---- case SP_POISON_CLOUD: success=fire_arch(op,dir,"spellball"); break; + case SP_HOLY_WORD: + success=cast_cone(op,dir,0,2+turn_bonus[op->stats.Wis],SP_HOLY_WORD); + break; + case SP_INVIS: + success=cast_invis(op, SP_INVIS); + break; + case SP_IMPROVED_INVIS: + success=cast_invis(op, SP_IMPROVED_INVIS); + break; + case SP_MINOR_HEAL: + case SP_MED_HEAL: + case SP_MAJOR_HEAL: + case SP_HEAL: + success=cast_heal(op,dir,type); + break; + case SP_CREATE_FOOD: + success=cast_create_obj(op,dir,"food"); + break; + case SP_EARTH_DUST: + success=cast_earth2dust(op); + break; + case SP_STRENGTH: + case SP_DEXTERITY: + success=cast_change_attr(op,dir,type); + break; } if(success) op->stats.sp-=s->sp; } ! int magic_wall(object *op,int dir, int spell_type) { object *tmp; if(blocked(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir])) { draw_info(op,"Something is in the way."); return 0; } ! switch(spell_type) { ! case SP_EARTH_WALL: ! tmp=get_archetype("earthwall"); ! break; ! case SP_FIRE_WALL: ! tmp=get_archetype("firebreath"); ! tmp->attacktype |= AT_MAGIC; ! tmp->stats.hp=60 + op->contr->shootstrength*4; ! tmp->stats.wc= -10 - op->level*2; ! tmp->stats.food=1; /* so it doesn't propagate */ ! op->stats.sp -= op->contr->shootstrength; ! set_owner(tmp,op); ! break; ! case SP_FROST_WALL: ! tmp=get_archetype("icestorm"); ! tmp->attacktype |= AT_MAGIC; ! tmp->stats.hp=50 + op->contr->shootstrength*4; ! tmp->stats.wc= -10 - op->level*2; ! tmp->stats.food=1; /* so it doesn't propagate */ ! op->stats.sp -= op->contr->shootstrength; ! set_owner(tmp,op); ! break; ! default: ! fprintf(stderr,"Unimplemented magic_wall spell: %d\n",spell_type); ! return 0; ! } tmp->x=op->x+freearr_x[dir],tmp->y=op->y+freearr_y[dir]; insert_ob_in_map(tmp,op->map); draw_stats(op); draw(op); return 1; } ! int dimension_door(object *op,int dir) { int dist; if(op->contr->count) { dist=op->contr->count; *************** *** 315,320 **** --- 377,385 ---- case SP_FEAR: tmp=get_archetype("fear"); break; + case SP_HOLY_WORD: + tmp=get_archetype("holy_word"); + break; default: fprintf(stderr,"Unimplemented spell: %d\n",spell_type); return 0; *************** *** 620,623 **** --- 685,867 ---- return; } insert_ob_in_map(op,op->map); + } + + int + cast_invis(object *op, int spell_type) { + switch(spell_type) { + case SP_INVIS: + op->invisible+=300; + op->contr->tmp_invis = 1; + draw_info(op,"You can't see your hands!"); + update_object(op); + break; + case SP_IMPROVED_INVIS: + if (op->invisible < 1000) + op->invisible+=200; + else if (op->invisible < 2000) + op->invisible+=100; + break; + } + return 1; + } + + int + cast_heal(object *op,int dir,int spell_type) { + object *tmp; + int heal; + + for(tmp=get_map_ob(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir]);tmp!=NULL; tmp=tmp->above) + if(tmp->type==PLAYER) + break; + if(tmp==NULL) /* didn't find a player there */ + return 0; + + switch(spell_type) { + case SP_MINOR_HEAL: + heal=(RANDOM()%8)+1; + break; + case SP_MED_HEAL: + heal=(RANDOM()%6)+(RANDOM()%6)+(RANDOM()%6)+6; + break; + case SP_MAJOR_HEAL: + heal=(RANDOM()%8)+(RANDOM()%8)+(RANDOM()%8)+6; + break; + case SP_HEAL: + heal=1000; + break; + } + tmp->stats.hp+=heal; + if(tmp->stats.hp>tmp->stats.maxhp) + tmp->stats.hp=tmp->stats.maxhp; + + return 1; + } + + + int + cast_change_attr(object *op,int dir,int spell_type) { + int strength, attr; + object *tmp; + + strength=(op->level*3contr->shootstrength)?op->level*3:op->contr->shootstrength; + if(spell_type!=SP_ARMOUR) + strength=(strength>30)?30:strength; + if (op->stats.sp < strength) { + draw_info(op,"Not enough spellpoints for that strength."); + return 0; + } + strength/=3; + for(tmp=get_map_ob(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir]);tmp!=NULL; tmp=tmp->above) + if(tmp->type==PLAYER) + break; + if(tmp==NULL) /* didn't find a player there */ + return 0; + + switch(spell_type) { + case SP_STRENGTH: + attr=STR; + break; + case SP_DEXTERITY: + attr=DEX; + break; + case SP_ARMOUR: + if(tmp->contr->orig_stats.ac<8-strength) { + draw_info(op,"A stronger armour spell already in use."); + return 0; + } + tmp->contr->orig_stats.ac=8-strength; + tmp->contr->ac_count=400; + op->stats.sp -= op->contr->shootstrength; + fix_player(op); + return 1; + } + if(tmp->contr->stat_count[attr]==0) + set_attr_value(&(tmp->contr->orig_stats),attr,get_attr_value(&(tmp->stats),attr)); + set_attr_value(&(tmp->stats),attr,15+strength); + tmp->contr->stat_count[attr]=300; + + op->stats.sp -= op->contr->shootstrength; + fix_player(op); + return 1; + } + + void + set_attr_value(living *stats,int attr,signed char value) { + switch(attr) { + case STR: + stats->Str=value; + break; + case DEX: + stats->Dex=value; + break; + case CON: + stats->Con=value; + break; + case WIS: + stats->Wis=value; + break; + case CHA: + stats->Cha=value; + break; + case INT: + stats->Int=value; + break; + } + } + + signed char + get_attr_value(living *stats,int attr) { + switch(attr) { + case STR: + return(stats->Str); + case DEX: + return(stats->Dex); + case CON: + return(stats->Con); + case WIS: + return(stats->Wis); + case CHA: + return(stats->Cha); + case INT: + return(stats->Int); + } + } + + + int + cast_create_obj(object *op,int dir,char *archetype) { + object *tmp; + + if(blocked(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir])) { + draw_info(op,"Something is in the way."); + return 0; + } + tmp=get_archetype(archetype); + tmp->x=op->x+freearr_x[dir],tmp->y=op->y+freearr_y[dir]; + insert_ob_in_map(tmp,op->map); + return 1; + } + + + int + cast_earth2dust( object *op ) { + object *tmp; + int strength,i,j; + + strength=(op->level*3contr->shootstrength)?op->level*3:op->contr->shootstrength; + strength=(strength>15)?15:strength; + if (op->stats.sp < strength) { + draw_info(op,"Not enough spellpoints for that strength."); + return 0; + } + strength/=3; + for(i=-strength;imap,op->x+i,op->y+j); + if(tmp&&tmp->type==EARTHWALL) + hit_player(tmp,9999,op,AT_MAGIC); + } + op->stats.sp -= op->contr->shootstrength; + return 1; } diff -c crossfire-0.87.8/spells.h crossfire.local/spells.h *** crossfire-0.87.8/spells.h Thu Sep 24 16:24:16 1992 --- crossfire.local/spells.h Mon Oct 5 11:12:07 1992 *************** *** 36,43 **** SP_BULLET,SP_S_FIREBALL,SP_M_FIREBALL,SP_L_FIREBALL,SP_BURNING_HANDS, SP_S_LIGHTNING,SP_L_LIGHTNING,SP_M_MISSILE,SP_BOMB, SP_GOLEM,SP_FIRE_ELEM,SP_EARTH_ELEM,SP_WATER_ELEM,SP_AIR_ELEM, ! SP_D_DOOR,SP_WALL,SP_PARALYZE,SP_ICESTORM,SP_MAGIC_MAPPING, ! SP_TURN_UNDEAD,SP_FEAR,SP_POISON_CLOUD}; spell spells[NROFREALSPELLS]={ "magic bullet", 1, 1, --- 36,46 ---- SP_BULLET,SP_S_FIREBALL,SP_M_FIREBALL,SP_L_FIREBALL,SP_BURNING_HANDS, SP_S_LIGHTNING,SP_L_LIGHTNING,SP_M_MISSILE,SP_BOMB, SP_GOLEM,SP_FIRE_ELEM,SP_EARTH_ELEM,SP_WATER_ELEM,SP_AIR_ELEM, ! SP_D_DOOR,SP_EARTH_WALL,SP_FIRE_WALL,SP_FROST_WALL,SP_PARALYZE, ! SP_ICESTORM,SP_MAGIC_MAPPING,SP_TURN_UNDEAD,SP_FEAR,SP_POISON_CLOUD, ! SP_HOLY_WORD,SP_INVIS,SP_IMPROVED_INVIS,SP_MINOR_HEAL,SP_MED_HEAL, ! SP_MAJOR_HEAL,SP_HEAL,SP_CREATE_FOOD,SP_EARTH_DUST,SP_ARMOUR, ! SP_STRENGTH,SP_DEXTERITY,}; spell spells[NROFREALSPELLS]={ "magic bullet", 1, 1, *************** *** 54,65 **** "summon earth elemental", 4,15, "summon water elemental", 5,15, "summon air elemental", 6,20, ! "dimmension door", 9,10, "create earth wall", 4, 6, "paralyze", 2, 5, "icestorm", 4,10, "magic mapping", 5,15, "turn undead", 1, 2, "fear", 4,10, ! "poison cloud", 2, 5 }; --- 57,82 ---- "summon earth elemental", 4,15, "summon water elemental", 5,15, "summon air elemental", 6,20, ! "dimension door", 9,10, "create earth wall", 4, 6, + "create fire wall", 6, 9, + "create frost wall", 7,12, "paralyze", 2, 5, "icestorm", 4,10, "magic mapping", 5,15, "turn undead", 1, 2, "fear", 4,10, ! "poison cloud", 2, 5, ! "holy word", 4,10, ! "invisibility", 3, 5, ! "improved invisibility", 6,15, ! "minor healing", 1, 2, ! "medium healing", 3, 5, ! "major healing", 5, 8, ! "heal", 8,15, ! "create food", 2, 3, ! "earth to dust", 1, 0, /* 3*strength */ ! "armour", 1, 0, /* 3*strength */ ! "strength", 1, 0, /* 3*strength */ ! "dexterity", 1, 0 /* 3*strength */ }; -- Rupert G. Goldie, Research Scientist rgg@aaii.oz.au Australian Artificial Intelligence Institute Life's a bitch and then you die. From owner-crossfire Mon Oct 5 17:30:30 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 16:30:38 +0100 Return-Path: Received: from bivlinde.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 16:30:36 +0100 From: Frank Tore Johansen Received: by bivlinde.ifi.uio.no ; Mon, 5 Oct 1992 16:30:33 +0100 Message-Id: <9210051530.AAbivlinde.ifi.uio.no11117@bivlinde.ifi.uio.no> Subject: Re: bracers in combination with other armor To: crossfire@ifi.uio.no Date: Mon, 5 Oct 1992 16:30:30 +0100 In-Reply-To: <199210051519.AA08027@phoenix.cs.purdue.edu>; from "Byron Burke" at Oct 5, 92 10:19 am Status: RO > A while ago I saw a patch to v 87.7 that would allow a player to apply > both bracer's and some armor at the same time. I didn't keep it thinking > that it would be included in the next version. However v 87.8 does not > seem to include it? Was forgotten, or is it not allowed? It has been fixed, and thus will be fixed when the next version is released. Maybe I should release it before I finish the transfer from map-levels to map-paths? There are probably enough new changes, features and bugs... I had to hand-edit most of the last patch mailed to the list due recent changes... -Frank. From frankj Mon Oct 5 16:30:29 1992 Subject: Re: bracers in combination with other armor To: crossfire@ifi.uio.no Date: Mon, 5 Oct 1992 16:30:29 +0100 In-Reply-To: <199210051519.AA08027@phoenix.cs.purdue.edu>; from "Byron Burke" at Oct 5, 92 10:19 am Status: RO > A while ago I saw a patch to v 87.7 that would allow a player to apply > both bracer's and some armor at the same time. I didn't keep it thinking > that it would be included in the next version. However v 87.8 does not > seem to include it? Was forgotten, or is it not allowed? It has been fixed, and thus will be fixed when the next version is released. Maybe I should release it before I finish the transfer from map-levels to map-paths? There are probably enough new changes, features and bugs... I had to hand-edit most of the last patch mailed to the list due recent changes... -Frank. From owner-crossfire Mon Oct 5 05:19:07 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 16:19:28 +0100 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 16:19:17 +0100 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Mon, 5 Oct 1992 10:19:08 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Mon, 5 Oct 1992 10:19:07 -0500 Message-Id: <199210051519.AA08027@phoenix.cs.purdue.edu> To: crossfire@ifi.uio.no Subject: bracers in combination with other armor Date: Mon, 05 Oct 92 10:19:07 EST From: burke@cs.purdue.edu (Byron Burke) Status: RO A while ago I saw a patch to v 87.7 that would allow a player to apply both bracer's and some armor at the same time. I didn't keep it thinking that it would be included in the next version. However v 87.8 does not seem to include it? Was forgotten, or is it not allowed? I suppose I could look for the patch in the crossfire.mail file but I don't want to use it if it isn't supposed to be allowed. byron From owner-crossfire Mon Oct 5 04:57:10 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 18:56:21 +0100 Return-Path: Received: from rutgers.edu ([128.6.21.9]) by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 18:56:05 +0100 Received: from ogicse.UUCP by rutgers.edu (5.59/SMI4.0/RU1.4/3.08) with UUCP id AA29203; Mon, 5 Oct 92 13:13:54 EDT Received: by ogicse.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.3) id ; Mon, 5 Oct 92 06:02 PDT Received: by cadre.com (/\==/\ Smail3.1.24.1 #24.6) id ; Mon, 5 Oct 92 05:57 PDT Received: from fripp (eno) by cadreri (4.1/SMI-4.1) id AA12742; Mon, 5 Oct 92 08:53:42 EDT Message-Id: <9210051253.AA12742@cadreri> Received: from xtc.fripp by fripp (4.1/SMI-4.1) id AA19253; Mon, 5 Oct 92 08:57:10 EDT Date: Mon, 5 Oct 92 08:57:10 EDT From: cadreri!jh@crdgw1.crd.ge.com (Joe Hartley) To: crossfire@ifi.uio.no Subject: Re: treasures Status: RO > > the problem about having artifacts and such in the editor is; > > > > 1) every levelcreator want to have at least one artifact > > in their domain. this leads to inflation of artifacts. Not if we're careful about our map making. The map review proposed elsewhere would be a good way to keep things realistic. > > > > 2) artifacts are lying the same places every time. > > players will soon get to know were they lie, > > and go for them all the time. > > The point about random treasures is that players have to walk > > around everywhere to find artifacts, they don't know were they are, > > so they have to search. That's part of the fun, and part of the strategy. One of the reasons I want to add the speed boots is because I've got an "Indiana Jones" type trap where the boots are on a button that has a pretty nasty trap associated with it. You *might* be able to get out without them if you're speedy enough, but you have a much better chance if you wear them. I hate the "hack-n-slash" levels where nothing but brute force, spells a-plenty and a quick finger on the keyboard are all that are needed to get by. Also, I think it's a *good* thing to have artifacts in known places. It adds a little focus to the game other than mere survival. > > > > If you make something though and you want to reward the players, > > make a tresurechamber with lots of random tresures. > > Well, this I don't like. I've got a pretty powerful character now, with *lots* of gold stashed away, and I'm using a relatively wimpy weapon because the random generators haven't seen fit do drop even a +4 sword my way, never mind an artifact. I can't even find anything sdecent in the shops! So I've got about 12K in gold, and nothing to spend it on. > > > How about a random artifact treasure type, that can be linked in the > same way as switches. So that you can guarentee having one artifact of some > type, weighted so that the minor items like Stinger appear more often than the > major items like Excalibur. This would give the players something to go after, > but still make them search the whole dungeon/castle for it. The same sort of > thing could be implemented for fixed treasures as well so that the designer of > the dungeon could fix the power level of the magical equipment found in a > dungeon. This is better, and might make for very interesting games, but as the maker of the map, I should be able to do as I please. And as has been pointed out, if I can do it by editing the map file, I should be able to do it in the map editor itself. Rest assured any inferior maps that don't meet our high standards in this list won't make it into 1.0 :-) =============================================================================== Joe Hartley | jh@cadre.com - Whenever you find that you are on the Cadre Technologies | side of the majority, it is time to reform. - M. Twain 222 Richmond St. | -------------------------------------------------------- Providence, RI 02903 | Overman 1st Class - the Kilgore Trout Memorial Clench (401) 351-5950 x266 | of the Church of the SubGenius =============================================================================== From owner-crossfire Sun Oct 4 19:28:31 1992 Received: by ifi.uio.no id ; Mon, 5 Oct 1992 04:29:55 +0100 Return-Path: Received: from PO3.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Mon, 5 Oct 1992 04:29:52 +0100 Received: by po3.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Sun, 4 Oct 92 23:29:42 EDT Received: via switchmail; Sun, 4 Oct 1992 23:29:42 -0400 (EDT) Received: from phoebe.dws.acs.cmu.edu via qmail ID ; Sun, 4 Oct 1992 23:28:46 -0400 (EDT) Received: from phoebe.dws.acs.cmu.edu via qmail ID ; Sun, 4 Oct 1992 23:28:32 -0400 (EDT) Received: from BatMail.robin.v2.13.CUILIB.3.45.SNAP.NOT.LINKED.phoebe.dws.acs.cmu.edu.pmax.ul4 via MS.5.6.phoebe.dws.acs.cmu.edu.pmax_ul4; Sun, 4 Oct 1992 23:28:31 -0400 (EDT) Message-Id: Date: Sun, 4 Oct 1992 23:28:31 -0400 (EDT) From: "Eric A. Anderson" To: crossfire@ifi.uio.no Subject: Con bonus Status: RO Is there a reason that the con bonus stops happening at level 11? All you get from that point on is 2 hp/level. It would be nice to still be getting at least some of the con bonus. -Eric ********************************************************* "Overhead, without any fuss, the stars were going out." -The Nine Billion Names of God "Yes, you're very smart. Shut up." -In "The Princess Bride" ********************************************************* From owner-crossfire Sun Oct 4 10:55:44 1992 Received: by ifi.uio.no id ; Sun, 4 Oct 1992 19:56:33 +0100 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 19:56:29 +0100 Received: by po5.andrew.cmu.edu (5.54/3.15) id for frankj@ifi.uio.no; Sun, 4 Oct 92 14:56:21 EDT Received: via switchmail; Sun, 4 Oct 1992 14:56:19 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Sun, 4 Oct 1992 14:55:52 -0400 (EDT) Received: via niftymail; Sun, 4 Oct 1992 14:55:45 -0400 (EDT) Sender: "Joseph L. Traub" Date: Sun, 4 Oct 1992 14:55:44 -0400 (EDT) From: Moonchilde Subject: Re: Objects in editor To: crossfire@ifi.uio.no, frankj@ifi.uio.no Cc: jorgens@dekk.pvv.unit.no In-Reply-To: <9210041818.AA15675@dekk.pvv.unit.no> References: <9210041818.AA15675@dekk.pvv.unit.no> Message-Id: <718224944.5235.0@freehold.andrew.cmu.edu> Status: RO As Kjetil pointed out, it's pretty trivial to get an artifact into an area if you are really interested in putting it there. In that case, there is absolutely no reason for the editor to not support doing it itself. Forcing me to decipher the archetypes file, the .oo file format, and do it by hand is akin to the non-notion of security through obscurity. IMHO, anything that can be done to a map through hand editing SHOULD be possible to do through the in game editor more efficiently. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Isn't humanity egocentric? Whenever we talk, we say "Here's my two cents worth," but we only offer "a penny for your thoughts." --ariel@cs.ucla.edu Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From jt1o+@andrew.cmu.edu Sun Oct 4 10:55:44 1992 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 19:56:29 +0100 Received: by po5.andrew.cmu.edu (5.54/3.15) id for frankj@ifi.uio.no; Sun, 4 Oct 92 14:56:21 EDT Received: via switchmail; Sun, 4 Oct 1992 14:56:19 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Sun, 4 Oct 1992 14:55:52 -0400 (EDT) Received: via niftymail; Sun, 4 Oct 1992 14:55:45 -0400 (EDT) Sender: "Joseph L. Traub" Date: Sun, 4 Oct 1992 14:55:44 -0400 (EDT) From: Moonchilde Subject: Re: Objects in editor To: crossfire@ifi.uio.no, frankj@ifi.uio.no Cc: jorgens@dekk.pvv.unit.no In-Reply-To: <9210041818.AA15675@dekk.pvv.unit.no> References: <9210041818.AA15675@dekk.pvv.unit.no> Message-Id: <718224944.5235.0@freehold.andrew.cmu.edu> Status: RO As Kjetil pointed out, it's pretty trivial to get an artifact into an area if you are really interested in putting it there. In that case, there is absolutely no reason for the editor to not support doing it itself. Forcing me to decipher the archetypes file, the .oo file format, and do it by hand is akin to the non-notion of security through obscurity. IMHO, anything that can be done to a map through hand editing SHOULD be possible to do through the in game editor more efficiently. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Isn't humanity egocentric? Whenever we talk, we say "Here's my two cents worth," but we only offer "a penny for your thoughts." --ariel@cs.ucla.edu Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sun Oct 4 08:33:11 1992 Received: by ifi.uio.no id ; Sun, 4 Oct 1992 04:32:48 +0100 Return-Path: Received: from latcs1.lat.OZ.AU by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 04:32:41 +0100 Received: from ipc2.lat.OZ.AU by latcs1.lat.oz.au (5.65+/1.34) id AA26804; Sun, 4 Oct 92 13:33:03 +1000 From: beilby@latcs1.lat.oz.au Message-Id: <9210040333.AA26647@ipc2.lat.oz.au> Subject: Re: treasures To: vidarl@ifi.uio.no (Vidar Lund) Date: Sun, 4 Oct 92 13:33:11 EST Cc: crossfire@ifi.uio.no In-Reply-To: <9210040129.AAallfar.ifi.uio.no19470@allfar.ifi.uio.no> from "Vidar Lund" at Oct 5, 92 02:29:55 am X-Mailer: ELM [version 2.4dev PL52] Status: RO > > > the problem about having artifacts and such in the editor is; > > 1) every levelcreator want to have at least one artifact > in their domain. this leads to inflation of artifacts. > > 2) artifacts are lying the same places every time. > players will soon get to know were they lie, > and go for them all the time. > The point about random treasures is that players have to walk > around everywhere to find artifacts, they don't know were they are, > so they have to search. > > If you make something though and you want to reward the players, > make a tresurechamber with lots of random tresures. > > >B^D vidar lund > How about a random artifact treasure type, that can be linked in the same way as switches. So that you can guarentee having one artifact of some type, weighted so that the minor items like Stinger appear more often than the major items like Excalibur. This would give the players something to go after, but still make them search the whole dungeon/castle for it. The same sort of thing could be implemented for fixed treasures as well so that the designer of the dungeon could fix the power level of the magical equipment found in a dungeon. / / / / __ )--/+-+-+-+--- ' \ (8| Scorpius>\___/ )--\+-+-+-+--- \ \ \ \ beilby@latcs1.lat.oz.au From owner-crossfire Sun Oct 4 10:18:22 1992 Received: by ifi.uio.no id ; Sun, 4 Oct 1992 19:18:28 +0100 Return-Path: Received: from dekk.pvv.unit.no by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 19:18:24 +0100 Received: by dekk.pvv.unit.no (5.64/DEC-HERCULES-092791); id AA15675; Sun, 4 Oct 92 14:18:22 -0400 Date: Sun, 4 Oct 92 14:18:22 -0400 From: jorgens@dekk.pvv.unit.no Message-Id: <9210041818.AA15675@dekk.pvv.unit.no> To: crossfire@ifi.uio.no, frankj@ifi.uio.no Subject: Re: Objects in editor Cc: jorgens@dekk.pvv.unit.no Status: RO >> Actually, that's not true; I can find keys, and random treasure, but I want >> to put a pair of speedboots in, and I can't figure out how to do it!! >> >> Am I missing something simple here? > >Well, I had to remove the artifacts from the editor since every local >map-creator wanted to put one of them in each of his maps...I just didn't >have enough of them for that... >Artifacts are still generated randomly, so just put enough random-treasure >there, and there will be a real chance that one is generated. If you want a map to contain a special item, just edit the .oo in your favorite editor, and add the item you want to place in that map. Kjetil. From jorgens@dekk.pvv.unit.no Sun Oct 4 10:18:22 1992 Return-Path: Received: from dekk.pvv.unit.no by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 19:18:24 +0100 Received: by dekk.pvv.unit.no (5.64/DEC-HERCULES-092791); id AA15675; Sun, 4 Oct 92 14:18:22 -0400 Date: Sun, 4 Oct 92 14:18:22 -0400 From: jorgens@dekk.pvv.unit.no Message-Id: <9210041818.AA15675@dekk.pvv.unit.no> To: crossfire@ifi.uio.no, frankj@ifi.uio.no Subject: Re: Objects in editor Cc: jorgens@dekk.pvv.unit.no Status: RO >> Actually, that's not true; I can find keys, and random treasure, but I want >> to put a pair of speedboots in, and I can't figure out how to do it!! >> >> Am I missing something simple here? > >Well, I had to remove the artifacts from the editor since every local >map-creator wanted to put one of them in each of his maps...I just didn't >have enough of them for that... >Artifacts are still generated randomly, so just put enough random-treasure >there, and there will be a real chance that one is generated. If you want a map to contain a special item, just edit the .oo in your favorite editor, and add the item you want to place in that map. Kjetil. From owner-crossfire Sun Oct 4 03:29:55 1992 Received: by ifi.uio.no id ; Sun, 4 Oct 1992 02:29:58 +0100 Return-Path: Received: from allfar.ifi.uio.no by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 02:29:57 +0100 From: Vidar Lund Received: by allfar.ifi.uio.no ; Sun, 4 Oct 1992 02:29:55 +0100 Date: Sun, 4 Oct 1992 02:29:55 +0100 Message-Id: <9210040129.AAallfar.ifi.uio.no19470@allfar.ifi.uio.no> To: crossfire@ifi.uio.no Subject: treasures Status: RO the problem about having artifacts and such in the editor is; 1) every levelcreator want to have at least one artifact in their domain. this leads to inflation of artifacts. 2) artifacts are lying the same places every time. players will soon get to know were they lie, and go for them all the time. The point about random treasures is that players have to walk around everywhere to find artifacts, they don't know were they are, so they have to search. If you make something though and you want to reward the players, make a tresurechamber with lots of random tresures. >B^D vidar lund From owner-crossfire Sat Oct 3 16:44:09 1992 Received: by ifi.uio.no id ; Sun, 4 Oct 1992 01:46:08 +0100 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sun, 4 Oct 1992 01:46:05 +0100 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Sat, 3 Oct 92 20:45:59 EDT Received: via switchmail; Sat, 3 Oct 1992 20:45:56 -0400 (EDT) Received: from borman.res.andrew.cmu.edu via qmail ID ; Sat, 3 Oct 1992 20:44:22 -0400 (EDT) Received: via niftymail; Sat, 3 Oct 1992 20:44:13 -0400 (EDT) Sender: "Joseph L. Traub" Date: Sat, 3 Oct 1992 20:44:09 -0400 (EDT) From: Moonchilde Subject: Re: Objects in editor To: crossfire@ifi.uio.no In-Reply-To: <199210031946.AAyrsa17615@yrsa.ifi.uio.no> References: <199210031946.AAyrsa17615@yrsa.ifi.uio.no> Message-Id: <718159449.220.0@borman.res.andrew.cmu.edu> Status: RO The problem with that idea is then the players get rich quick. My thought on it is that any object which can be found in the game should be allowed to be put on the map intentionally. Doing it otherwise leads to complete and utter monty-haul levels (ala sokoban tower) --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Isn't humanity egocentric? Whenever we talk, we say "Here's my two cents worth," but we only offer "a penny for your thoughts." --ariel@cs.ucla.edu Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sat Oct 3 21:46:53 1992 Received: by ifi.uio.no id ; Sat, 3 Oct 1992 20:46:55 +0100 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Sat, 3 Oct 1992 20:46:54 +0100 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Sat, 3 Oct 1992 20:46:54 +0100 Message-Id: <199210031946.AAyrsa17615@yrsa.ifi.uio.no> Subject: Re: Objects in editor To: crossfire@ifi.uio.no Date: Sat, 3 Oct 1992 20:46:53 +0100 In-Reply-To: ; from "Joe Hartley" at Oct 2, 92 2:10 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Actually, that's not true; I can find keys, and random treasure, but I want > to put a pair of speedboots in, and I can't figure out how to do it!! > > Am I missing something simple here? Well, I had to remove the artifacts from the editor since every local map-creator wanted to put one of them in each of his maps...I just didn't have enough of them for that... Artifacts are still generated randomly, so just put enough random-treasure there, and there will be a real chance that one is generated. -Frank. From owner-crossfire Fri Oct 2 10:10:22 1992 Received: by ifi.uio.no id ; Sat, 3 Oct 1992 12:34:57 +0100 Return-Path: Received: from RUTGERS.EDU by ifi.uio.no with SMTP id ; Sat, 3 Oct 1992 12:34:54 +0100 Received: from ogicse.UUCP by rutgers.edu (5.59/SMI4.0/RU1.4/3.08) with UUCP id AA26816; Sat, 3 Oct 92 07:19:22 EDT Received: by ogicse.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.3) id ; Fri, 2 Oct 92 11:14 PDT Received: by cadre.com (/\==/\ Smail3.1.24.1 #24.6) id ; Fri, 2 Oct 92 11:10 PDT Message-Id: Received: from fripp (eno) by cadreri (4.1/SMI-4.1) id AA19597; Fri, 2 Oct 92 14:07:12 EDT Received: from xtc.fripp by fripp (4.1/SMI-4.1) id AA09933; Fri, 2 Oct 92 14:10:22 EDT Date: Fri, 2 Oct 92 14:10:22 EDT From: jh@cadre.com (Joe Hartley) To: crossfire@ifi.uio.no Subject: Objects in editor Status: RO I've been working on a nifty puzzle level for a bit now, and I want to put a couple of items in. Well this worked OK under 0.85, but now that I'm in 0.87-5, I can't find any objects in the map editor! Actually, that's not true; I can find keys, and random treasure, but I want to put a pair of speedboots in, and I can't figure out how to do it!! Am I missing something simple here? =============================================================================== Joe Hartley | jh@cadre.com - Whenever you find that you are on the Cadre Technologies | side of the majority, it is time to reform. - M. Twain 222 Richmond St. | -------------------------------------------------------- Providence, RI 02903 | Overman 1st Class - the Kilgore Trout Memorial Clench (401) 351-5950 x266 | of the Church of the SubGenius =============================================================================== From owner-crossfire Fri Oct 2 07:36:35 1992 Received: by ifi.uio.no id ; Fri, 2 Oct 1992 03:38:38 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Fri, 2 Oct 1992 03:37:39 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA10039; Fri, 2 Oct 1992 12:36:46 +1000 From: Rupert G. Goldie Message-Id: <199210020236.AA10039@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA22911; Fri, 2 Oct 92 12:36:35 EST Date: Fri, 2 Oct 92 12:36:35 EST To: crossfire@ifi.uio.no Subject: A patch Status: RO This is a patch to allow a character to brace himself. This just means that you stand still and won't move when you press a direction key. You will still attack things but you won't move. This is useful for when you are standing outside a door and you are attacking the monsters streaming out, but you don't want to jump into the room when one of them dies. To brace yourself, press 's'. It is a toggle, so pressing 's' again unbraces you. Enjoy, Rupert -------------------cut here-------------------------------------------- diff -c crossfire-0.87.8/global.h crossfire.local/global.h *** crossfire-0.87.8/global.h Thu Sep 24 16:24:16 1992 --- crossfire.local/global.h Thu Oct 1 18:38:33 1992 *************** *** 167,172 **** --- 167,173 ---- unsigned char key_down; /* Last move-key still held down */ unsigned char mode; /* Mode of player: */ unsigned char berzerk; /* Affects usage of CTRL-direction */ + unsigned braced:1; /* Will not move if braced, only attack */ /* 0=normal, 1=pick up while walking, 2=stop after pick, 3=stop before pick */ unsigned char state,infoline; unsigned char writing; /* When true, the player is writing text */ diff -c crossfire-0.87.8/input.c crossfire.local/input.c *** crossfire-0.87.8/input.c Thu Sep 24 16:24:17 1992 --- crossfire.local/input.c Thu Oct 1 18:38:35 1992 *************** *** 1713,1718 **** --- 1713,1728 ---- break; case 's': if (IS_WIZ(op)) (void) fprintf(stderr,"%d used, %d free.\n",count_used(),count_free()); + else { + if (op->contr->braced) { + op->contr->braced = 0; + draw_info(op, "You are no longer braced."); + } + else { + op->contr->braced = 1; + draw_info(op, "You are now braced."); + } + } break; case 'S': if(IS_WIZ(op)) (void) ss_dump_table(1); diff -c crossfire-0.87.8/main.c crossfire.local/main.c *** crossfire-0.87.8/main.c Thu Sep 24 16:24:17 1992 --- crossfire.local/main.c Thu Oct 1 19:06:24 1992 *************** *** 1179,1185 **** if(op->contr->fire_on) fire(op,dir); else ! if(!move_ob(op,dir)&&!out_of_map(op->map,op->x+dx,op->y+dy)) { stack=tmp=get_map_ob(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir]); while(stack) { if (IS_ALIVE(stack) || CAN_ROLL(stack)) tmp = stack; --- 1179,1185 ---- if(op->contr->fire_on) fire(op,dir); else ! if((op->contr->braced||!move_ob(op,dir))&&!out_of_map(op->map,op->x+dx,op->y+dy)) { stack=tmp=get_map_ob(op->map,op->x+freearr_x[dir],op->y+freearr_y[dir]); while(stack) { if (IS_ALIVE(stack) || CAN_ROLL(stack)) tmp = stack; *************** *** 1195,1203 **** hit_player(tmp,9999,op,AT_PHYSICAL); /* Break through the door */ } } ! if(tmp->type==PLAYER&&op->contr->peaceful) (void) push_ob(tmp,dir,op); ! else if(CAN_ROLL(tmp)) recursive_roll(tmp,dir,op); else if(tmp->stats.hp>=0&&IS_ALIVE(tmp)) { attack_ob(tmp,op); --- 1195,1203 ---- hit_player(tmp,9999,op,AT_PHYSICAL); /* Break through the door */ } } ! if(tmp->type==PLAYER&&op->contr->peaceful&&(!op->contr->braced)) (void) push_ob(tmp,dir,op); ! else if(CAN_ROLL(tmp)&&(!op->contr->braced)) recursive_roll(tmp,dir,op); else if(tmp->stats.hp>=0&&IS_ALIVE(tmp)) { attack_ob(tmp,op); -- Rupert G. Goldie, Research Scientist rgg@aaii.oz.au Australian Artificial Intelligence Institute Life's a bitch and then you die. ----- End Included Message ----- From owner-crossfire Thu Oct 15 12:01:06 1992 Received: by ifi.uio.no id ; Thu, 15 Oct 1992 12:01:20 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 15 Oct 1992 12:01:06 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA19969; Thu, 15 Oct 92 07:00:58 -0400 To: crossfire@ifi.uio.no Subject: Re: Character levels Date: Thu Oct 15 06:57:57 1992 From: Pat Place Phone: (412) 268 7746 Organization: Software Engineering Institute Message-Id: <9210150700.dukof.prp@SEI> Status: RO In answer to Rupert's question. Mostly, I play barbarians - they seem to be among the easiest, particularly now, where spells are that much harder to come by. Also, I mostly play solo, though there have been a few games here with 2 players - these involved cooperation rather than comeptition. As to levels, I now have my first level 10 character - this is largely due to having a save facility so that I can play a character for a while. Pat Place prp@sei.cmu.edu From owner-crossfire Thu Oct 22 14:13:11 1992 Received: by ifi.uio.no id ; Thu, 22 Oct 1992 14:13:22 +0100 Return-Path: Received: from FS.SEI.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 22 Oct 1992 14:13:11 +0100 Received: by fs.sei.cmu.edu (5.65/2.5) id AA19106; Thu, 22 Oct 92 09:13:02 -0400 To: crossfire@ifi.uio.no Subject: Dread Date: Thu Oct 22 09:11:51 1992 From: Pat Place Phone: (412) 268 7746 Organization: Software Engineering Institute Message-Id: <9210220913.dulub.prp@SEI> Status: RO I have a simple question. Is it possible to kill dread by hitting it? If so, how? I was certainly patient and hit the thing *many* times yet nothing seemed to happen. Pat