From owner-crossfire Tue Sep 29 17:41:46 1992 Received: by ifi.uio.no id ; Wed, 30 Sep 1992 02:44:00 +0100 Return-Path: Received: from PO3.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 30 Sep 1992 02:43:58 +0100 Received: by po3.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 29 Sep 92 21:43:52 EDT Received: via switchmail; Tue, 29 Sep 1992 21:43:52 -0400 (EDT) Received: from procyon.weh.andrew.cmu.edu via qmail ID ; Tue, 29 Sep 1992 21:42:04 -0400 (EDT) Received: via niftymail; Tue, 29 Sep 1992 21:41:50 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 29 Sep 1992 21:41:46 -0400 (EDT) From: Moonchilde Subject: More diffs. To: crossfire@ifi.uio.no Message-Id: <717817306.5690.0@procyon.weh.andrew.cmu.edu> Status: RO The following patches were created of of 0.87.8 They fix the following problems If a player was wearing a negative food ring, he starved slowly. This seemed like it should be a positive feature as it lets a high hp player try to find food. It was a simple problem of rearranging a sign. If a player had a zero stat and saved, when the character was restored, a 'random' value would appear in that stat slot.. The solution is to zero the stat slots before the read_object() in check_login(). The patch also provides an alternative food use method for those who don't like the fact that high HP characters burned food like crazy. This alternative is #ifdeffed. --JT --------------------------cut here--------------------------- *** main.c.old Mon Sep 28 22:46:43 1992 --- main.c Tue Sep 29 21:30:03 1992 *************** *** 291,297 **** strcpy(buf1,"grind"); strcpy(buf2," to dust"); } else { ! strcpy(buf1,"shread"); strcpy(buf2," to pieces"); } messages.msg1=buf1,messages.msg2=buf2; --- 291,297 ---- strcpy(buf1,"grind"); strcpy(buf2," to dust"); } else { ! strcpy(buf1,"shred"); strcpy(buf2," to pieces"); } messages.msg1=buf1,messages.msg2=buf2; *************** *** 1227,1238 **** char buf[MAX_BUF]; object *tmp; 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; if(!op->state&&op->contr->golem==NULL&&--op->last_sp<0) { ! if(op->stats.spstats.maxsp) ! op->stats.sp++,op->stats.food--; op->last_sp=2000/(gen_sp<20 ? 30 : gen_sp+10); for(tmp=op->inv;tmp!=NULL;tmp=tmp->below) if((tmp->type==ARMOUR||tmp->type==HELMET||tmp->type==BOOTS|| --- 1227,1246 ---- char buf[MAX_BUF]; object *tmp; int last_food=op->stats.food; + #ifdef SLOW_FOOD_USE + int gen_hp=(op->contr->gen_hp+1); + int to_heal = gen_hp + op->stats.maxhp/50; + int can_heal = (op->stats.hp==op->stats.maxhp ? 0 : 1); + #else int gen_hp=(op->contr->gen_hp+1)*op->stats.maxhp; + #endif int gen_sp=(op->contr->gen_sp+1)*op->stats.maxsp; if(!op->state&&op->contr->golem==NULL&&--op->last_sp<0) { ! if(op->stats.spstats.maxsp) { ! op->stats.sp++; ! op->stats.food--; ! } op->last_sp=2000/(gen_sp<20 ? 30 : gen_sp+10); for(tmp=op->inv;tmp!=NULL;tmp=tmp->below) if((tmp->type==ARMOUR||tmp->type==HELMET||tmp->type==BOOTS|| *************** *** 1240,1258 **** op->last_sp+=ARMOUR_SPELLS(tmp); } if(!op->state&&--op->last_heal<0) { ! if(op->stats.hpstats.maxhp) ! op->stats.hp++,op->stats.food--; op->last_heal=1200/(gen_hp<20 ? 30 : gen_hp+10); op->stats.food--; if(op->contr->digestion<0) op->stats.food+=op->contr->digestion; else if(op->contr->digestion>0&&RANDOM()%op->contr->digestion) ! op->stats.food=last_food; } ! if(op->contr->digestion<0) ! ! while(op->stats.food<0&&op->stats.hp>0) ! op->stats.food++,op->stats.hp--; if (!op->state&&!IS_WIZ(op)&&(op->stats.hp<0||op->stats.food<0)) { if(op->stats.food<0) { --- 1248,1286 ---- op->last_sp+=ARMOUR_SPELLS(tmp); } if(!op->state&&--op->last_heal<0) { ! if(op->stats.hpstats.maxhp) { ! #ifdef SLOW_FOOD_USE ! op->stats.hp += to_heal; ! if(op->stats.hp > op->stats.maxhp) { ! to_heal -= (op->stats.hp - op->stats.maxhp); ! op->stats.hp = op->stats.maxhp; ! } ! op->stats.food -= to_heal; ! #else ! op->stats.hp++; ! op->stats.food--; ! #endif ! } ! #ifdef SLOW_FOOD_USE ! op->last_heal=1200/(30+20*(gen_hp-1)); ! #else op->last_heal=1200/(gen_hp<20 ? 30 : gen_hp+10); + #endif op->stats.food--; if(op->contr->digestion<0) op->stats.food+=op->contr->digestion; else if(op->contr->digestion>0&&RANDOM()%op->contr->digestion) ! #ifdef SLOW_FOOD_USE ! op->stats.food=last_food-(can_heal ? to_heal/2 : 0); ! #else ! op->stats.food=last_food; ! #endif } ! if(op->contr->digestion>0) ! while(op->stats.food<0&&op->stats.hp>0) { ! op->stats.food+=op->contr->digestion; ! op->stats.hp--; ! } if (!op->state&&!IS_WIZ(op)&&(op->stats.hp<0||op->stats.food<0)) { if(op->stats.food<0) { *** config.h.old Tue Sep 29 21:30:11 1992 --- config.h Tue Sep 29 21:34:35 1992 *************** *** 42,47 **** --- 42,59 ---- /* #define SPEED_GAME */ /* + * USE_SLOW_FOOD changes the way that food is eaten by a player. With it + * undefined, a person with a lot of hp eats food very very quickly, and + * thus penalizes a player who has a good con. The modification works as + * follows. Every 'heal_tick', a player will eat 1 food, plus one food for + * every hitpoint healed plus one food for every spell point healed. In + * addition, an extra food will be eaten for every + on a ring of regeneration + * and a ring of regeneration will cause heal_ticks to occur faster. + * a ring of slow digestion will work the same. + */ + #define USE_SLOW_FOOD + + /* * LOS means Line Of Sight. If defined, players can't see through walls. * That adds a lot to the game, especially if you have claustrophobia 8) * It will be the standard from this version and the future, especially since *************** *** 51,57 **** * very slow, you can try to undefine it. */ ! #define USE_LOS /* * Swap stats allows players to swap the values for their stats around --- 63,69 ---- * very slow, you can try to undefine it. */ ! /* #define USE_LOS */ /* * Swap stats allows players to swap the values for their stats around *************** *** 61,67 **** * Bugs: c.blackwood@rdt.monash.edu.au */ ! #define USE_SWAP_STATS /* --- 73,79 ---- * Bugs: c.blackwood@rdt.monash.edu.au */ ! /* #define USE_SWAP_STATS */ /* *** login.c.old Tue Sep 29 21:21:13 1992 --- login.c Tue Sep 29 21:23:55 1992 *************** *** 218,223 **** --- 218,238 ---- strcpy(op->contr->pushstring[pushk++],cp1); } } + /* we MUST clear the stats structure here, so that if a stat was + zero when it was saved, it will be restored as a zero */ + op->stats.Str = 0; + op->stats.Dex= 0; + op->stats.Con= 0; + op->stats.Wis= 0; + op->stats.Cha= 0; + op->stats.Int= 0; + op->stats.hp = 0; + op->stats.maxhp = 0; + op->stats.sp = 0; + op->stats.maxsp = 0; + op->stats.exp = 0; + op->stats.food = 0; + op->stats.dam = 0; load_object(fp,op); m=ready_map(first_map_level,0); i=find_free_spot(NULL,m,m->startx,m->starty,0,SIZEOFFREE); ------------------------------------------------------------------------- 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 Mon Sep 28 08:57:32 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 08:57:27 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:57:18 +0100 Received: from delatite.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA20815; Mon, 28 Sep 1992 17:56:53 +1000 From: Rupert G. Goldie Message-Id: <199209280756.AA20815@yarra-glen.aaii.oz.au> Received: by delatite.aaii.oz.AU (4.1/SMI-4.0) id AA12550; Mon, 28 Sep 92 17:56:51 EST Date: Mon, 28 Sep 92 17:56:51 EST To: crossfire@ifi.uio.no Subject: Re: Crossfire ideas Status: RO > > Heal spells should be added. Unfortunately "heal self" and "heal other" > will have to be two separate spells (or I will have to add a "stand-still" > key to the other arrow-keys (like the `.' in nethack)). > > -Frank. > It could be fun having a "heal other" which produces a cone of healing. It would, of course heal monsters too 8-] -Rupert -- Rupert G. Goldie, rgg@aaii.oz.au Life's a bitch and then you die From owner-crossfire Mon Sep 28 14:41:07 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 23:42:04 +0100 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 23:42:02 +0100 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Mon, 28 Sep 92 18:41:55 EDT Received: via switchmail; Mon, 28 Sep 1992 18:41:53 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Mon, 28 Sep 1992 18:41:15 -0400 (EDT) Received: via niftymail; Mon, 28 Sep 1992 18:41:09 -0400 (EDT) Sender: "Joseph L. Traub" Date: Mon, 28 Sep 1992 18:41:07 -0400 (EDT) From: Moonchilde Subject: Re: Another minor patch. To: crossfire@ifi.uio.no In-Reply-To: <717717431.24328.0@freehold.andrew.cmu.edu> References: <717717431.24328.0@freehold.andrew.cmu.edu> Message-Id: <717720067.24328.0@freehold.andrew.cmu.edu> Status: RO Bleah, I made a small goof in that last patch and forgot the newline on the line with digestion. Please add a \n to the string when it's printed out to fix the problem. --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 Mon Sep 28 13:57:11 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 23:00:45 +0100 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 23:00:43 +0100 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Mon, 28 Sep 92 18:00:34 EDT Received: via switchmail; Mon, 28 Sep 1992 18:00:31 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Mon, 28 Sep 1992 17:57:27 -0400 (EDT) Received: via niftymail; Mon, 28 Sep 1992 17:57:12 -0400 (EDT) Sender: "Joseph L. Traub" Date: Mon, 28 Sep 1992 17:57:11 -0400 (EDT) From: Moonchilde Subject: Another minor patch. To: crossfire@ifi.uio.no Message-Id: <717717431.24328.0@freehold.andrew.cmu.edu> Status: RO The following patch fixes a bug in which if you saved out with a slow digestion ring, it lost effect when you restored the game, and removing it caused you to eat faster than normal.. (the opposite.. saving with a slow (err speed) digestion ring on, then removing it when you started up again was nasty as well). Also, it was saving last_level as a lev_array keyword, so I changed to restore that correctly. These patches are against .87.8 code. --------------cut here-------------------------------- *** login.c.old Mon Sep 28 17:46:10 1992 --- login.c Mon Sep 28 17:52:28 1992 *************** *** 91,100 **** fprintf(fp,"listening %d\n",op->contr->listening); fprintf(fp,"spell %d\n",op->contr->chosen_spell); fprintf(fp,"shoottype %d\n",op->contr->shoottype); ! fprintf(fp,"lev_array %d\n",op->contr->last_level); fprintf(fp,"berzerk %d\n",op->contr->berzerk); fprintf(fp,"peaceful %d\n",op->contr->peaceful); fprintf(fp,"scroll %d\n",op->contr->scroll); for(i=0;icontr->pushstring[i][0]!='\0') fprintf(fp,"pushkey %s %s\n", --- 91,101 ---- fprintf(fp,"listening %d\n",op->contr->listening); fprintf(fp,"spell %d\n",op->contr->chosen_spell); fprintf(fp,"shoottype %d\n",op->contr->shoottype); ! fprintf(fp,"last_level %d\n",op->contr->last_level); fprintf(fp,"berzerk %d\n",op->contr->berzerk); fprintf(fp,"peaceful %d\n",op->contr->peaceful); fprintf(fp,"scroll %d\n",op->contr->scroll); + fprintf(fp, "digestion %d", op->contr->digestion); for(i=0;icontr->pushstring[i][0]!='\0') fprintf(fp,"pushkey %s %s\n", *************** *** 186,191 **** --- 187,196 ---- op->contr->peaceful=value; if (!strcmp(buf,"scroll")) op->contr->scroll=value; + if (!strcmp(buf, "digestion")) + op->contr->digestion=value; + if (!strcmp(buf, "last_level")) + op->contr->last_level=value; if (!strcmp(buf,"lev_array")){ for(i=1;i<=value;i++) { int j; ------------------------------------------------------------------------- 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 Mon Sep 28 02:43:13 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 02:43:07 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 02:42:49 +0100 Received: from jacobs-creek.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA21289; Mon, 28 Sep 1992 11:42:08 +1000 From: Rupert G. Goldie Message-Id: <199209280142.AA21289@yarra-glen.aaii.oz.au> Received: by jacobs-creek.aaii.oz.AU (4.1/SMI-4.0) id AA11198; Mon, 28 Sep 92 11:41:54 EST Date: Mon, 28 Sep 92 11:41:54 EST To: crossfire@ifi.uio.no Subject: More Crossfire ideas Status: RO Something I forgot in my other piece of mail was rumours. I think rumours are something we really need for the Fantasy RPG adventure type feel. The idea is this: each map has a number of rumours associated with it and each one has a value. Some of the rumours are true, some are partly true and some are false. Now we add a new special floor type, the tavern floor. On this floor type, if you drop some money, you are told a random rumour from one of the maps of approximately the value you dropped. Thus 5 silver pieces may get you: "There are ogres in the goblin camp" While 90 gold pieces tells you: "Mjoellnir can be found at the top of Castle Ragnarok, but you will need the key from the Cave of Fenris to reach it." -Rupert -- Rupert G. Goldie rgg@aaii.oz.au Australian AI Institute From owner-crossfire Mon Sep 28 02:12:25 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 02:12:20 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 02:12:10 +0100 Received: from jacobs-creek.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA16582; Mon, 28 Sep 1992 11:11:45 +1000 From: Rupert G. Goldie Message-Id: <199209280111.AA16582@yarra-glen.aaii.oz.au> Received: by jacobs-creek.aaii.oz.AU (4.1/SMI-4.0) id AA11164; Mon, 28 Sep 92 11:11:43 EST Date: Mon, 28 Sep 92 11:11:43 EST To: crossfire@ifi.uio.no Subject: Archetypes docs Status: RO Frank, any hope of there being any archetypes documentation produced ? It would make adding new archetypes a lot easier if we didn't have to crawl through the code to figure out all the variables and there meaning. -Rupert -- Rupert G. Goldie rgg@aaii.oz.au Australian AI Institute Life's a bitch and then you die From owner-crossfire Mon Sep 28 02:06:49 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 02:06:26 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 02:05:56 +0100 Received: from jacobs-creek.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA15590; Mon, 28 Sep 1992 11:05:27 +1000 From: Rupert G. Goldie Message-Id: <199209280105.AA15590@yarra-glen.aaii.oz.au> Received: by jacobs-creek.aaii.oz.AU (4.1/SMI-4.0) id AA11155; Mon, 28 Sep 92 11:05:25 EST Date: Mon, 28 Sep 92 11:05:25 EST To: crossfire@ifi.uio.no Subject: Crossfire ideas Status: RO Here's some ideas for things I'd like to see in Crossfire: New Scrolls. The current scroll becomes a scroll of destruction. Scroll of fire - similar effect to the scroll of destruction but produces fire. This makes it less effective than the scroll of destruction unless we up the damage a little bit as it destroys items. Scrolls of destruction don't harm other players, maybe scrolls of fire should 8-). Scroll of frost - same as the scroll of fire but with frost instead. Maybe even scrolls of paralysis and undead turning. Scroll of resurrection - sets the ressurection flag for a player. Now when his hit points drop below zero instead of dying he is brought back to life immediately at full hp but loses a point of con. This scroll should obviously be fairly rare. Optionally these scrolls could be stacked, i.e. you can read three scrolls of resurrection and you can die three times in a row before you need to read another (this makes them pretty powerful). Scroll of recall - instantly teleports you home. Scroll of joining - teleports you next to a player of your choice. Really handy for joining up with other players when you have no idea where they are, but will require some way of inputting the name of the player you wish to join. Scroll of summoning - like a scroll of joining, but summons another player to you (much like the dm power). Similar problem with input. Potion of heroism - temporarily increases your strength and con by 4 and dex by 2. Multiple uses increase time of the effect, they don't keep adding to your stats. Directed teleports - these are teleports which are connected together so that stepping into one will take you to the other even if it is not in view, and never to any other teleport. It should also be possible to make these one way. Invisible teleports - these would be a real bastard 8). They would also be a hassle to use with the editor (is that an empty square or an invisible teleport ?). That's all for now. I'll start implementing them when I have some free time (unfortunately not in great supply 8-( ), but anyone else feel free to implement them also. -Rupert -- Rupert G. Goldie rgg@aaii.oz.au Australian AI Institute From owner-crossfire Mon Sep 28 09:12:43 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 09:12:37 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 09:12:31 +0100 Received: from yarra-glen.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA23202; Mon, 28 Sep 1992 18:12:05 +1000 Message-Id: <199209280812.AA23202@yarra-glen.aaii.oz.au> To: Rupert G. Goldie Cc: crossfire@ifi.uio.no Subject: Re: Crossfire ideas In-Reply-To: Your message of "Mon, 28 Sep 92 17:56:51 EST." <199209280756.AA20815@yarra-glen.aaii.oz.au> Date: Mon, 28 Sep 92 18:12:04 +1000 From: Anthony Baxter Status: RO In message <199209280756.AA20815@yarra-glen.aaii.oz.au> you write: > It could be fun having a "heal other" which produces a cone of healing. It wo >uld, > of course heal monsters too 8-] A much nastier idea would be a scroll that heals everything on the screen back to full, monsters and players both. Mind you, this could lead to unpleasantness ('I had nearly killed that, you &$^%$^%') but I dont know if that is necessarily a bad thing :-) Anthony From owner-crossfire Mon Sep 28 08:51:32 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 08:51:24 +0100 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:51:23 +0100 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Mon, 28 Sep 1992 08:51:22 +0100 Message-Id: <199209280751.AAyrsa10822@yrsa.ifi.uio.no> Subject: Re: Crossfire ideas To: crossfire@ifi.uio.no Date: Mon, 28 Sep 1992 08:51:22 +0100 In-Reply-To: <199209280743.AA18601@yarra-glen.aaii.oz.au>; from "Anthony Baxter" at Sep 28, 92 5:43 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > > About input to scrolls of joining/summoning: Just choose the nearest player. > > Or a random player, if none are on the same map. > > Is there a problem with just prompting for the players name? The way the code looks now, prompting a player for a name involves making him/her (any "her"'s around? 8) invulnerable. That will be changed soon, of course. Especially since I plan implementing the wish-spell/scroll/wand/ring 8) Heal spells should be added. Unfortunately "heal self" and "heal other" will have to be two separate spells (or I will have to add a "stand-still" key to the other arrow-keys (like the `.' in nethack)). -Frank. From anthony@aaii.oz.au Mon Sep 28 08:45:00 1992 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:44:38 +0100 Received: from wyndham-estates.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA18601; Mon, 28 Sep 1992 17:43:07 +1000 Message-Id: <199209280743.AA18601@yarra-glen.aaii.oz.au> To: Frank Tore Johansen Cc: crossfire@ifi.uio.no Subject: Re: Crossfire ideas In-Reply-To: Your message of "Mon, 28 Sep 92 08:33:55 +0100." <199209280733.AAskalk.ifi.uio.no17177@skalk.ifi.uio.no> Date: Mon, 28 Sep 92 17:43:02 +1000 From: Anthony Baxter Status: RO In message <199209280733.AAskalk.ifi.uio.no17177@skalk.ifi.uio.no> you write: > About input to scrolls of joining/summoning: Just choose the nearest player. > Or a random player, if none are on the same map. Is there a problem with just prompting for the players name? > If anyone else has time to implement any spells to be used by books/wands > or scrolls, that would be great. Though there is no manual on how > to go about doing it... 8) You would have to study the file spells.c and > spells.h. Healing spells would be a nice addition, if anyone feels like delving into the code :-) From owner-crossfire Mon Sep 28 08:45:00 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 08:44:55 +0100 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:44:38 +0100 Received: from wyndham-estates.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA18601; Mon, 28 Sep 1992 17:43:07 +1000 Message-Id: <199209280743.AA18601@yarra-glen.aaii.oz.au> To: Frank Tore Johansen Cc: crossfire@ifi.uio.no Subject: Re: Crossfire ideas In-Reply-To: Your message of "Mon, 28 Sep 92 08:33:55 +0100." <199209280733.AAskalk.ifi.uio.no17177@skalk.ifi.uio.no> Date: Mon, 28 Sep 92 17:43:02 +1000 From: Anthony Baxter Status: RO In message <199209280733.AAskalk.ifi.uio.no17177@skalk.ifi.uio.no> you write: > About input to scrolls of joining/summoning: Just choose the nearest player. > Or a random player, if none are on the same map. Is there a problem with just prompting for the players name? > If anyone else has time to implement any spells to be used by books/wands > or scrolls, that would be great. Though there is no manual on how > to go about doing it... 8) You would have to study the file spells.c and > spells.h. Healing spells would be a nice addition, if anyone feels like delving into the code :-) From owner-crossfire Mon Sep 28 08:40:14 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 08:40:09 +0100 Return-Path: Received: from skalk.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:40:09 +0100 From: Frank Tore Johansen Received: by skalk.ifi.uio.no ; Mon, 28 Sep 1992 08:40:08 +0100 Message-Id: <199209280740.AAskalk.ifi.uio.no17212@skalk.ifi.uio.no> Subject: Re: Archetypes docs To: crossfire@ifi.uio.no Date: Mon, 28 Sep 1992 08:40:07 +0100 In-Reply-To: <199209280736.AAskalk.ifi.uio.no17192@skalk.ifi.uio.no>; from "Frank Tore Johansen" at Sep 28, 92 8:36 am X-Mailer: ELM [version 2.3 PL11] Status: RO > I had hoped to make a separate program which accepts as input any combination > of such variables, then let the user click on different button/switches > to tweak and change those variables, then upon exiting, writing the new > set of variables to stdout. Unfortunately I haven't found time for this > yet. But I'll try to add a manual in case someone else gets the time 8) Of course it would be possible to call this program from inside the map-editor to edit any object if you wanted to put out a special object. The user would just get a new window where the selected object could be changed. -Frank. From owner-crossfire Mon Sep 28 08:36:43 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 08:36:38 +0100 Return-Path: Received: from skalk.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:36:37 +0100 From: Frank Tore Johansen Received: by skalk.ifi.uio.no ; Mon, 28 Sep 1992 08:36:36 +0100 Message-Id: <199209280736.AAskalk.ifi.uio.no17192@skalk.ifi.uio.no> Subject: Re: Archetypes docs To: crossfire@ifi.uio.no Date: Mon, 28 Sep 1992 08:36:36 +0100 In-Reply-To: <199209280111.AA16582@yarra-glen.aaii.oz.au>; from "Rupert G. Goldie" at Sep 28, 92 11:11 am X-Mailer: ELM [version 2.3 PL11] Status: RO > Frank, any hope of there being any archetypes documentation produced ? > It would make adding new archetypes a lot easier if we didn't have to crawl > through the code to figure out all the variables and there meaning. I had hoped to make a separate program which accepts as input any combination of such variables, then let the user click on different button/switches to tweak and change those variables, then upon exiting, writing the new set of variables to stdout. Unfortunately I haven't found time for this yet. But I'll try to add a manual in case someone else gets the time 8) -Frank. From owner-crossfire Mon Sep 28 08:34:12 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 08:34:00 +0100 Return-Path: Received: from skalk.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 08:33:58 +0100 From: Frank Tore Johansen Received: by skalk.ifi.uio.no ; Mon, 28 Sep 1992 08:33:57 +0100 Message-Id: <199209280733.AAskalk.ifi.uio.no17177@skalk.ifi.uio.no> Subject: Re: Crossfire ideas To: crossfire@ifi.uio.no Date: Mon, 28 Sep 1992 08:33:55 +0100 In-Reply-To: <199209280105.AA15590@yarra-glen.aaii.oz.au>; from "Rupert G. Goldie" at Sep 28, 92 11:05 am X-Mailer: ELM [version 2.3 PL11] Status: RO I've already implemented wands. I'll add some more scrolls as well before the next version. Especially "scroll of recall". The only problem is that the inventory of the players gets very easily cluttered. And implementing bags is going to take some time... By the way, my major project before next version will be to add filepaths instead of level for each map, thus getting rid of the map-index file, as well as creating some structure to the maps directory (one subdir for each map-creator). About input to scrolls of joining/summoning: Just choose the nearest player. Or a random player, if none are on the same map. > Directed teleports - these are teleports which are connected together so that > stepping into one will take you to the other even if it is not in view, and > never to any other teleport. It should also be possible to make these one way. This is already implemented. > Invisible teleports - these would be a real bastard 8). They would also be a > hassle to use with the editor (is that an empty square or an invisible > teleport ?). Some of the local map-creators had the bright idea to put some other object (for instance woodfloor) on top of the exit-object... I plan on implementing a spell for each scroll/wand, even if it will be impossible to find the corresponding spellbook (The code gets much tidier). If anyone else has time to implement any spells to be used by books/wands or scrolls, that would be great. Though there is no manual on how to go about doing it... 8) You would have to study the file spells.c and spells.h. The books will become more scarce as soon as I've made a new and better treasure-generator. -Frank. From owner-crossfire Mon Sep 28 02:12:18 1992 Received: by ifi.uio.no id ; Mon, 28 Sep 1992 02:12:13 +0100 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Mon, 28 Sep 1992 02:12:11 +0100 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Sun, 27 Sep 1992 20:12:04 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Sun, 27 Sep 1992 20:12:01 -0500 Message-Id: <199209280112.AA02674@phoenix.cs.purdue.edu> To: "Rupert G. Goldie" Cc: crossfire@ifi.uio.no, burke@cs.purdue.edu Subject: Re: Crossfire ideas In-Reply-To: Your message of "Mon, 28 Sep 92 11:05:25 EST." <199209280105.AA15590@yarra-glen.aaii.oz.au> Date: Sun, 27 Sep 92 20:12:00 EST From: burke@cs.purdue.edu Status: RO >Here's some ideas for things I'd like to see in Crossfire: > >New Scrolls. The current scroll becomes a scroll of destruction. > [idea's for various scrolls deleted] >-Rupert >-- >Rupert G. Goldie rgg@aaii.oz.au >Australian AI Institute I think this is kind of a neat idea--since spells are much harder to come by now, have one-time-use-spells (scrolls) around. I think they should be fairly rare because it is rather easy to collect scrolls now. Byron -- A man's riches may ransom his life, but a poor man hears no threat. Proverbs 13:8. burke@cs.purdue.edu From owner-crossfire Sat Sep 26 22:48:33 1992 Received: by ifi.uio.no id ; Sat, 26 Sep 1992 22:45:03 +0200 Return-Path: Received: from math.chalmers.se (mathsun1.math.chalmers.se) by ifi.uio.no with SMTP id ; Sat, 26 Sep 1992 22:45:01 +0200 From: Tony Elmroth Message-Id: <9209262044.AA29709@math.chalmers.se> Received: from monet.math.chalmers.se by math.chalmers.se id AA29709; Sat, 26 Sep 92 22:44:58 +0200 Date: Sat, 26 Sep 92 22:44:57 +0200 Received: by monet.math.chalmers.se id AA28547; Sat, 26 Sep 92 22:44:57 +0200 To: crossfire@ifi.uio.no Subject: los Status: RO Hi, I think the line of sight is a good idea, but what you see is little to restricted. Here is a patch that expand the sight some more. For example you see the corners of rooms. Tony ------------------------------cut here-------------------------------- *** ../tmp/crossfire-0.87.8/los.c Thu Sep 24 08:24:17 1992 --- los.c Sat Sep 26 19:15:50 1992 *************** *** 236,241 **** --- 236,242 ---- #endif } + #if 0 void expand_sight(object *op) { int i,x,y; for(x=0;x<11;x++) *************** *** 251,256 **** --- 252,281 ---- op->contr->blocked_los[dx][dy]=0; } } + #endif + + void expand_sight(object *op) + { + int i,x,y, dx, dy; + + for(x=1;x<10;x++) /* loop over inner squares */ + for(y=1;y<10;y++) + if(!op->contr->blocked_los[x][y]&& + !blocks_view(op->map,op->x-5+x,op->y-5+y)) + for(i=1;i<=8;i+=1) { /* mark all directions */ + dx = x + freearr_x[i]; + dy = y + freearr_y[i]; + if(op->contr->blocked_los[dx][dy] > 0) /* for any square blocked */ + op->contr->blocked_los[dx][dy]= -1; + } + + /* clear mark squares */ + for (x = 0; x < 11; x++) + for (y = 0; y < 11; y++) + if (op->contr->blocked_los[x][y] < 0) + op->contr->blocked_los[x][y] = 0; + } + void update_los(object *op) { int i; From owner-crossfire Sat Sep 26 03:04:06 1992 Received: by ifi.uio.no id ; Sat, 26 Sep 1992 03:00:01 +0200 Return-Path: Received: from cscihp.ecst.csuchico.edu by ifi.uio.no with SMTP id ; Sat, 26 Sep 1992 02:59:57 +0200 Message-Id: <199209260059.AAifi.uio.no00376@ifi.uio.no> Received: by cscihp.ecst.csuchico.edu (16.6/16.2-1) id AA23209; Fri, 25 Sep 92 17:59:55 -0700 From: Skud the Great Subject: maps To: crossfire@ifi.uio.no Date: Fri, 25 Sep 92 17:59:54 PDT X-Mailer: ELM [version 2.3 PL11] Status: RO I have put up some maps into the incoming directory at ifi.uio.no. Basically, it is still Skud's Castle, its all been modified, couple of new levels. They are maps.30 through maps.39 have fun. Tyler Skud. From owner-crossfire Fri Sep 25 23:36:58 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 23:35:36 +0200 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 23:35:32 +0200 Received: by po5.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 25 Sep 92 17:35:25 EDT Received: via switchmail; Fri, 25 Sep 1992 17:35:24 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Fri, 25 Sep 1992 17:34:49 -0400 (EDT) Received: via niftymail; Fri, 25 Sep 1992 17:34:44 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 25 Sep 1992 17:34:43 -0400 (EDT) From: Moonchilde Subject: Bug fix. To: crossfire@ifi.uio.no Message-Id: <717456883.20277.0@freehold.andrew.cmu.edu> Status: RO If a player type 'a' when he had nothing in his inventory, the game would seg fault. This patch fixes that problem. It is diffed against .87.8 ------cut here-----------------------------------cut here--------------- *** input.c.old Fri Sep 25 17:23:22 1992 --- input.c Fri Sep 25 17:26:08 1992 *************** *** 1608,1616 **** op->contr->count_left=0; break; case 'a': ! if(!apply(op,op->inv)) { ! sprintf(buf,"I don't know how to apply the %s.",query_name(op->inv)); ! draw_info(op,buf); } break; case 'A': --- 1608,1620 ---- op->contr->count_left=0; break; case 'a': ! if(op->inv) { ! if(!apply(op,op->inv)) { ! sprintf(buf,"I don't know how to apply the %s.",query_name(op->inv)); ! draw_info(op,buf); ! } ! } else { ! draw_info(op, "You have nothing to apply!"); } break; case 'A': ------------------------------------------------------------------------- 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 Sep 25 20:04:11 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 20:03:49 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 20:03:44 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 25 Sep 92 14:03:36 EDT Received: via switchmail; Fri, 25 Sep 1992 14:03:34 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Fri, 25 Sep 1992 14:02:55 -0400 (EDT) Received: via niftymail; Fri, 25 Sep 1992 14:02:51 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 25 Sep 1992 14:02:50 -0400 (EDT) From: Moonchilde Subject: Repost of diffs To: crossfire@ifi.uio.no Message-Id: <717444170.19960.0@freehold.andrew.cmu.edu> Status: RO Frank, I rediffed the patches I sent out yesterday which didn't make it into the new release against the .87.8 code, and am resending them out. These fix the following bugs. Summoned monsters can no longer go off the map (this would coredump the game) You can always control a summoned monster. Loading a player now restores the current active spell and shoottype. A wizard summoning a player or teleporting no longer says ... enters (null) instead is says ... teleports to level ##. ---------------------------cut here------------------------------- *** spells.c.old Thu Sep 24 17:27:23 1992 --- spells.c Thu Sep 24 17:39:53 1992 *************** *** 50,56 **** fprintf(stderr,"Error, unknown spell: %d\n",type); return; } ! if(!IS_WIZ(op)&&op->stats.spsp&&!(type==SP_GOLEM&&op->contr->golem!=NULL)) { draw_info(op,"You don't have enough spellpoints."); op->contr->count_left=0; return; --- 50,57 ---- fprintf(stderr,"Error, unknown spell: %d\n",type); return; } ! if(!IS_WIZ(op)&&op->stats.spsp && ! !(IS_SUMMON_SPELL(type)&&op->contr->golem!=NULL)) { draw_info(op,"You don't have enough spellpoints."); op->contr->count_left=0; return; *************** *** 507,513 **** free_object(op); return; } ! if(!move_ob(op,op->direction)) { update_object(op); hit_map(op,op->direction,AT_PHYSICAL); for(tmp=get_map_ob(op->map,op->x+freearr_x[op->direction], --- 508,516 ---- free_object(op); return; } ! if(!move_ob(op,op->direction)&& ! !out_of_map(op->map,op->x+freearr_x[op->direction], ! op->y+freearr_y[op->direction])) { update_object(op); hit_map(op,op->direction,AT_PHYSICAL); for(tmp=get_map_ob(op->map,op->x+freearr_x[op->direction], *** spells.h.old Thu Sep 24 17:37:53 1992 --- spells.h Thu Sep 24 17:40:08 1992 *************** *** 63,65 **** --- 63,67 ---- "fear", 4,10, "poison cloud", 2, 5 }; + + #define IS_SUMMON_SPELL(spell) ((spell) > SP_BOMB && (spell) < SP_D_DOOR) *** login.c.old Thu Sep 24 20:03:44 1992 --- login.c Thu Sep 24 20:05:25 1992 *************** *** 172,177 **** --- 172,181 ---- sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"gen_hp")) op->contr->gen_hp=value; + if (!strcmp(buf,"spell")) + op->contr->chosen_spell=value; + if (!strcmp(buf,"shoottype")) + op->contr->shoottype=value; if (!strcmp(buf,"gen_sp")) op->contr->gen_sp=value; if (!strcmp(buf,"listening")) *** main.c.old Thu Sep 24 17:14:58 1992 --- main.c Thu Sep 24 17:27:52 1992 *************** *** 659,665 **** new_level=op->map->level+1; op->direction=0,op->contr->count=0,op->contr->count_left=0; if(exit_ob!=NULL) { ! sprintf(buf,"%s enters %s.",op->name,exit_ob->name); info_all(buf,3); info_flush(); } --- 659,668 ---- new_level=op->map->level+1; op->direction=0,op->contr->count=0,op->contr->count_left=0; if(exit_ob!=NULL) { ! if(exit_ob->name) ! sprintf(buf,"%s enters %s.",op->name,exit_ob->name); ! else ! sprintf(buf, "%s teleports to level %d.", op->name, new_level); info_all(buf,3); info_flush(); } ------------------------------------------cut here------------------- ------------------------------------------------------------------------- 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 Sep 25 13:28:55 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 13:28:31 +0200 Return-Path: Received: from visbur.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 13:28:30 +0200 Received: by visbur.ifi.uio.no ; Fri, 25 Sep 1992 13:28:58 +0200 Date: Fri, 25 Sep 1992 13:28:55 +0200 From: Morten Hanshaugen To: crossfire@ifi.uio.no Subject: Re: LOS In-Reply-To: Moonchilde 's message of Thu, 24 Sep 1992 11:50:55 -0400 (EDT) References: <199209241530.AAsognsvann04568@sognsvann.ifi.uio.no> <717349855.18505.0@freehold.andrew.cmu.edu> Message-Id: Status: RO > My problem with LOS is that you have know clue if there IS a grim reaper > anywhere UNTIL you run into it, [...] Is a ring of warning an idea, or is the game to fast for such an item to be usefull? Morten (The old mansion will soon be a _mansion_, but will have a familiar cellar ;-) From owner-crossfire Fri Sep 25 12:22:30 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 12:22:18 +0200 Return-Path: Received: from visbur.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 12:22:17 +0200 From: Frank Tore Johansen Received: by visbur.ifi.uio.no ; Fri, 25 Sep 1992 12:22:44 +0200 Message-Id: <199209251022.AAvisbur.ifi.uio.no10606@visbur.ifi.uio.no> Subject: Re: CFV: crossfire-announce To: crossfire@ifi.uio.no Date: Fri, 25 Sep 1992 12:22:42 +0200 In-Reply-To: <9209250027.AA40235@hal.gnu.ai.mit.edu>; from "mycroft@gnu.ai.mit.edu" at Sep 24, 92 8:27 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > I don't know about other people, but I would like to get announcements > of crossfire releases without all the talk attached. Would someone > consider setting up such a mailing list? Sounds fair enough. The list is implemented. Right now all members of crossfire is a member of crossfire-announce. Anyone who wishes to only get announcements of releases, request so to crossfire-request@ifi.uio.no. But I have one question: How many announcements do you wish? One for each patch I put out (0.xx.x), or one for each major version (0.xx)? Or maybe only major versions unless the patches fixes very serious bugs...There are lots of alternatives. -Frank P.S. Yes, I know I'm running out of numbers before 1.0 8) (I still wish 1.0 to be the version I post to comp.sources.games) From owner-crossfire Fri Sep 25 02:28:19 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 02:28:12 +0200 Return-Path: Received: from albert.gnu.ai.mit.edu by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 02:28:09 +0200 Received: from hal.gnu.ai.mit.edu by albert.gnu.ai.mit.edu (5.65/4.0) with SMTP id ; Thu, 24 Sep 92 20:28:02 -0400 Received: by hal.gnu.ai.mit.edu (AIX 3.2/UCB 5.64/4.0) id ; Thu, 24 Sep 1992 20:27:56 -0400 From: mycroft@gnu.ai.mit.edu Message-Id: <9209250027.AA40235@hal.gnu.ai.mit.edu> Subject: CFV: crossfire-announce To: crossfire@ifi.uio.no Date: Thu, 24 Sep 92 20:27:55 EDT Status: RO I don't know about other people, but I would like to get announcements of crossfire releases without all the talk attached. Would someone consider setting up such a mailing list? From owner-crossfire Fri Sep 25 02:13:59 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 02:13:50 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 02:13:45 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 24 Sep 92 20:13:36 EDT Received: via switchmail; Thu, 24 Sep 1992 20:13:33 -0400 (EDT) Received: from thetis.weh.andrew.cmu.edu via qmail ID ; Thu, 24 Sep 1992 20:13:01 -0400 (EDT) Received: via niftymail; Thu, 24 Sep 1992 20:12:56 -0400 (EDT) Sender: "Joseph L. Traub" Date: Thu, 24 Sep 1992 20:12:43 -0400 (EDT) From: Moonchilde Subject: More bug fixes. To: crossfire@ifi.uio.no Message-Id: <717379963.14624.0@thetis.weh.andrew.cmu.edu> Status: RO This small patch fixes the problem that shoottype and chosen_spell were not being read back in from the save file, thus causing a + immediately after loading a saved game to display some random pointer in memory. (whee) ------------------------------cut here-------------------------------- *** login.c.old Thu Sep 24 20:03:44 1992 --- login.c Thu Sep 24 20:05:25 1992 *************** *** 172,177 **** --- 172,181 ---- sscanf(bufall,"%s %d\n",buf,&value); if (!strcmp(buf,"gen_hp")) op->contr->gen_hp=value; + if (!strcmp(buf,"spell")) + op->contr->chosen_spell=value; + if (!strcmp(buf,"shoottype")) + op->contr->shoottype=value; if (!strcmp(buf,"gen_sp")) op->contr->gen_sp=value; if (!strcmp(buf,"listening")) ------------------------------------------------------------------------- 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 Sep 25 01:48:01 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 01:47:51 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 01:47:50 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Fri, 25 Sep 1992 01:47:49 +0200 Message-Id: <199209242347.AAyrsa26121@yrsa.ifi.uio.no> Subject: Re: YMBF (yet more bug fixes :) To: crossfire@ifi.uio.no Date: Fri, 25 Sep 1992 01:47:49 +0200 In-Reply-To: <717372270.19132.0@freehold.andrew.cmu.edu>; from "Moonchilde" at Sep 24, 92 6:04 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Also, Elementals > would not be able to be controlled UNLESS you also had enough spell points to > recast the spell. This has been fixed as well. Ah, that bug has been annoying me for a long time 8) Thanx. -Frank. From owner-crossfire Fri Sep 25 00:05:59 1992 Received: by ifi.uio.no id ; Fri, 25 Sep 1992 00:05:38 +0200 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 25 Sep 1992 00:05:36 +0200 Received: by po5.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 24 Sep 92 18:05:31 EDT Received: via switchmail; Thu, 24 Sep 1992 18:05:31 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Thu, 24 Sep 1992 18:04:35 -0400 (EDT) Received: via niftymail; Thu, 24 Sep 1992 18:04:32 -0400 (EDT) Sender: "Joseph L. Traub" Date: Thu, 24 Sep 1992 18:04:30 -0400 (EDT) From: Moonchilde Subject: YMBF (yet more bug fixes :) To: crossfire@ifi.uio.no Message-Id: <717372270.19132.0@freehold.andrew.cmu.edu> Status: RO Frank (and all) Here are a few more bug fixes. They fix the problems that elementals would crash the game if they walked off the edge of the map. Also, Elementals would not be able to be controlled UNLESS you also had enough spell points to recast the spell. This has been fixed as well. Enjoy. --JT -------------------------cut here----------------------------- *** spells.c.old Thu Sep 24 17:27:23 1992 --- spells.c Thu Sep 24 17:39:53 1992 *************** *** 50,56 **** fprintf(stderr,"Error, unknown spell: %d\n",type); return; } ! if(!IS_WIZ(op)&&op->stats.spsp&&!(type==SP_GOLEM&&op->contr->golem!=NULL)) { draw_info(op,"You don't have enough spellpoints."); op->contr->count_left=0; return; --- 50,57 ---- fprintf(stderr,"Error, unknown spell: %d\n",type); return; } ! if(!IS_WIZ(op)&&op->stats.spsp && ! !(IS_SUMMON_SPELL(type)&&op->contr->golem!=NULL)) { draw_info(op,"You don't have enough spellpoints."); op->contr->count_left=0; return; *************** *** 507,513 **** free_object(op); return; } ! if(!move_ob(op,op->direction)) { update_object(op); hit_map(op,op->direction,AT_PHYSICAL); for(tmp=get_map_ob(op->map,op->x+freearr_x[op->direction], --- 508,516 ---- free_object(op); return; } ! if(!move_ob(op,op->direction)&& ! !out_of_map(op->map,op->x+freearr_x[op->direction], ! op->y+freearr_y[op->direction])) { update_object(op); hit_map(op,op->direction,AT_PHYSICAL); for(tmp=get_map_ob(op->map,op->x+freearr_x[op->direction], *** spells.h.old Thu Sep 24 17:37:53 1992 --- spells.h Thu Sep 24 17:40:08 1992 *************** *** 63,65 **** --- 63,67 ---- "fear", 4,10, "poison cloud", 2, 5 }; + + #define IS_SUMMON_SPELL(spell) ((spell) > SP_BOMB && (spell) < SP_D_DOOR) ------------------------------------------------------------------------- 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 Thu Sep 24 18:13:43 1992 Received: by ifi.uio.no id ; Thu, 24 Sep 1992 18:13:30 +0200 Return-Path: Received: from sognsvann.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 24 Sep 1992 18:13:29 +0200 From: Kjetil Torgrim Homme Received: by sognsvann.ifi.uio.no ; Thu, 24 Sep 1992 18:13:28 +0200 Date: Thu, 24 Sep 1992 18:13:28 +0200 Message-Id: <199209241613.AAsognsvann09503@sognsvann.ifi.uio.no> To: crossfire@ifi.uio.no In-Reply-To: Moonchilde's message of Thu, 24 Sep 1992 11:50:55 -0400 (EDT) <717349855.18505.0@freehold.andrew.cmu.edu> Subject: Re: LOS Status: RO > My problem with LOS is that you have know clue if there IS a grim > reaper anywhere UNTIL you run into it, UNLESS you've either played > the level a lot or looked at it in an editor. THAT is what people > dislike most I believe. the random hosiness factor. If a character > is going to die, it should die for a reason, not because I stepped > into a room and randomly chose the wrong door first. I agree whole-heartedly with you. There should be some way of knowing when there is something scary behind that wall, either with a small patch of fence which you can look through, or a gravestone with an inscription, messages on the handles or doors etc. A prime example of an old level which is deadly now is Skud's level with 63 grimreapers leaping out of the door when you open it. Heh, when it was designed, grimreapers couldn't even see invisible players. Things have changed... (I'm of course not degrading your work, Skud. Crossfire currently changes so fast every level should be edited at least once a week :-) Kjetil T. From owner-crossfire Thu Sep 24 17:52:27 1992 Received: by ifi.uio.no id ; Thu, 24 Sep 1992 17:52:10 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 24 Sep 1992 17:52:06 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 24 Sep 92 11:51:50 EDT Received: via switchmail; Thu, 24 Sep 1992 11:51:49 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Thu, 24 Sep 1992 11:50:59 -0400 (EDT) Received: via niftymail; Thu, 24 Sep 1992 11:50:56 -0400 (EDT) Sender: "Joseph L. Traub" Date: Thu, 24 Sep 1992 11:50:55 -0400 (EDT) From: Moonchilde Subject: Re: LOS To: crossfire@ifi.uio.no In-Reply-To: <199209241530.AAsognsvann04568@sognsvann.ifi.uio.no> References: <199209241530.AAsognsvann04568@sognsvann.ifi.uio.no> Message-Id: <717349855.18505.0@freehold.andrew.cmu.edu> Status: RO I'd be willing to generate pixie or gprof data for the game... It'll take me a few days to get around to it though. My problem with LOS is that you have know clue if there IS a grim reaper anywhere UNTIL you run into it, UNLESS you've either played the level a lot or looked at it in an editor. THAT is what people dislike most I believe. the random hosiness factor. If a character is going to die, it should die for a reason, not because I stepped into a room and randomly chose the wrong door first. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Thu Sep 24 17:30:57 1992 Received: by ifi.uio.no id ; Thu, 24 Sep 1992 17:30:45 +0200 Return-Path: Received: from sognsvann.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 24 Sep 1992 17:30:44 +0200 From: Kjetil Torgrim Homme Received: by sognsvann.ifi.uio.no ; Thu, 24 Sep 1992 17:30:43 +0200 Date: Thu, 24 Sep 1992 17:30:43 +0200 Message-Id: <199209241530.AAsognsvann04568@sognsvann.ifi.uio.no> To: crossfire@ifi.uio.no In-Reply-To: Andrew Bell's message of Thu, 24 Sep 92 11:00:40 -0400 <9209241500.AA17979@beethoven.cs.unc.edu> Subject: Re: LOS Status: RO Let's say you're running down a corridor with a grimreaper in hot pursuit. You turn a corner, and the grim reaper is no longer in your line of sight. What would you see? a) Everything (the old way) b) You would see monsters emerging in areas you've explored. c) When an areas falls out of view, the graphical representation of it becomes static, ie. the grimreaper would look like it was frozen in its tracks. d) Like above, but living objects would "disappear". e) Only display what the player is able to see from his position (the new way) I doubt anyone will favour option c) or d), they are much more confusing than the current system. xconq uses c), and it works there because the play is much slower. b) wouldn't be LOS, it would be auto-mapping. That's not really an objection, though. However, all the options b) thru d) would all mean that the server must keep a copy of the map (or a similar structure at least) for each player. The server currently only saves what the player's window looks like at any time. I think crossfire uses enough CPU and RAM as it is :-) (at times, it has used more than 50% CPU on a Sparcstation II, but I think Frank has done some optimizations since then.) \begin{spurious_idea} BTW. Frank has tried to get profiling statistics on crossfire, but has failed since we don't have statically linked libraries. Can anyone else do this for him / us? I.e. compile it with gprof, play a game with a couple of players for half an hour, and mail him / us the result? (I hope you don't mind I bring this up on your behalf, Frank :-) \end{spurious_idea} I think e) is wonderful when playing. It really gets your adrenalin pumping when you know there's a grimreaper *somewhere* in a maze of passages, and it suddenly appears two squares from where you're satnding! (The outside of the old mansion is a good example :-) The black squares may look ugly at first, but just how are you going to simulate 3D vision viewed from above? One small improvement on the current system would be that squares could *hinder* view, not merely block it. I.e. you could have hills where you could see two squares far in every direction. I'm not sure how the LOS-algorithm works, so this may range from almost easy to very difficult to do... Ramble on!!! Kjetil T. From owner-crossfire Thu Sep 24 17:01:29 1992 Received: by ifi.uio.no id ; Thu, 24 Sep 1992 17:00:58 +0200 Return-Path: Received: from mcenroe.cs.unc.edu by ifi.uio.no with SMTP id ; Thu, 24 Sep 1992 17:00:51 +0200 Received: from beethoven by mcenroe.cs.unc.edu (5.65/UNC_08_21_92) id AA14954; Thu, 24 Sep 92 11:00:44 -0400 Received: by beethoven.cs.unc.edu (5.65/UNC_02-28-90) id AA17979; Thu, 24 Sep 92 11:00:40 -0400 Date: Thu, 24 Sep 92 11:00:40 -0400 From: Andrew Bell Message-Id: <9209241500.AA17979@beethoven.cs.unc.edu> To: crossfire@ifi.uio.no Subject: Re: LOS Status: RO Joe Hartley writes: >I did not like the >big black squares that indicated that I couldn't see, and the areas I had >already looked at blacked out when I moved away. One possibility (but a fair bit of extra work) would be to tag the areas that have been seen already, and then draw them in in different colors (perhaps a grey background?) -Andrew Bell bell@cs.unc.edu From owner-crossfire Thu Sep 24 08:00:17 1992 Received: by ifi.uio.no id ; Thu, 24 Sep 1992 08:00:00 +0200 Return-Path: Received: from hnoss.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 24 Sep 1992 07:59:57 +0200 From: Frank Tore Johansen Received: by hnoss.ifi.uio.no ; Thu, 24 Sep 1992 07:59:56 +0200 Message-Id: <199209240559.AAhnoss.ifi.uio.no29011@hnoss.ifi.uio.no> Subject: Re: Random thoughts To: crossfire@ifi.uio.no Date: Thu, 24 Sep 1992 07:59:55 +0200 In-Reply-To: ; from "Joe Hartley" at Sep 23, 92 3:18 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > I don't like the fact that you can't try out weapons of armor in stores > without actually paying for it. (It may hold true for all items in stores, > but I only looked at these two.) I don't think it's unreasonable to try > out weapons in a store, and say "Hmmm, this morningstar will do the same > amount of damage as a broadsword, but is much more awkward to handle." Since > I can't leave the store without paying for it anyway, what harm is there > in my knowing what sort of performance I can expect? I'll fix it after I've fixed the save-routine which will mess up when you save while applying an unpaid object. Maybe all that is needed is a loop that unapplies and drops all unpaid items just before the character is saved. Problems will arise if the objects can't be unapplied though. > What the heck to those heavy clocks *do*, anyway?? Just atmosphere... They ended up in the shop by a mistake. -Frank. From owner-crossfire Wed Sep 23 23:51:50 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 23:51:41 +0200 Return-Path: Received: from soc1.acpub.duke.edu by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 23:51:39 +0200 Received: by soc1.acpub.duke.edu (5.65/Ultrix3.0-C) id AA08025; Wed, 23 Sep 92 17:51:36 -0400 Date: Wed, 23 Sep 92 17:51:36 -0400 From: mel1@acpub.duke.edu (Douglas Melamed) Message-Id: <9209232151.AA08025@soc1.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: SWAP STATS BUG Status: RO There's a very easy way to cheat they way swap stats is written. everytime you swap stats HP and SP are rerolled so basically you can keep swapping two stats back and forth until you have the highest hp and sp possible, Some please fix this as I have little time to do so. Doug From owner-crossfire Wed Sep 23 21:53:14 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 21:52:47 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 21:52:44 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Wed, 23 Sep 92 15:52:39 EDT Received: via switchmail; Wed, 23 Sep 1992 15:52:37 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Wed, 23 Sep 1992 15:51:54 -0400 (EDT) Received: via niftymail; Wed, 23 Sep 1992 15:51:50 -0400 (EDT) Sender: "Joseph L. Traub" Date: Wed, 23 Sep 1992 15:51:49 -0400 (EDT) From: Moonchilde Subject: More patches To: crossfire@ifi.uio.no Message-Id: <717277909.16867.0@freehold.andrew.cmu.edu> Status: RO Frank, here are a few more bug fixes for you. The first set patches some small problems in the archetypes file. It raises the cost of dragon mail (from 1000 to 15000) It makes boulders no longer block sight. It makes Skullcrusher have a value (currently 30000) The second set of patches fixes some more problems with file pointers and using them when they might not be there. I also reverse the previous patch I gave on login.c and redo the patch where I should have done it to begin with (in close_and_delete). Enjoy --JT -------------------------------cut here--------------------- *** ../crossfire/archetypes Mon Sep 21 11:20:24 1992 --- archetypes Wed Sep 23 15:40:35 1992 *************** *** 908,914 **** material 64 weight 1000000 no_pass 1 - blocksview 1 can_roll 1 no_pick 1 editable 1 --- 908,913 ---- *************** *** 3867,3872 **** --- 3866,3872 ---- last_sp 11 type 15 weight 32000 + value 30000 magic 3 dam 15 material 18 *************** *** 3956,3962 **** last_sp 10 ac 7 weight 90000 ! value 1000 protected 4 end Object robe --- 3956,3962 ---- last_sp 10 ac 7 weight 90000 ! value 15000 protected 4 end Object robe *** login.c.old Wed Sep 23 14:07:16 1992 --- login.c Wed Sep 23 14:11:46 1992 *************** *** 81,123 **** } sprintf(filename,"%s/%s.pl",PLAYERDIR,op->name); fp=fopen(filename, "w"); ! fprintf(fp,"%s\n",op->contr->password); ! fprintf(fp,"gen_hp %d\n",op->contr->gen_hp); ! fprintf(fp,"gen_sp %d\n",op->contr->gen_sp); ! fprintf(fp,"listening %d\n",op->contr->listening); ! fprintf(fp,"spell %d\n",op->contr->chosen_spell); ! fprintf(fp,"shoottype %d\n",op->contr->shoottype); ! fprintf(fp,"lev_array %d\n",op->contr->last_level); ! fprintf(fp,"berzerk %d\n",op->contr->berzerk); ! fprintf(fp,"peaceful %d\n",op->contr->peaceful); ! fprintf(fp,"scroll %d\n",op->contr->scroll); ! for(i=0;icontr->pushstring[i][0]!='\0') ! fprintf(fp,"pushkey %s %s\n", ! keycodetochar(op,op->contr->pushkeys[i]), ! op->contr->pushstring[i]); ! fprintf(fp,"lev_array %d\n",op->level>10?10:op->level); ! for(i=1;i<=op->contr->last_level&&i<=10;i++) { ! fprintf(fp,"%d\n",op->contr->levhp[i]); ! fprintf(fp,"%d\n",op->contr->levsp[i]); ! } ! fprintf(fp,"spell_array %d\n",op->contr->nrofknownspells); ! for(i=0;icontr->nrofknownspells;i++) ! fprintf(fp,"%d\n",op->contr->known_spells[i]); ! fprintf(fp,"endplst\n"); ! save_object(fp,op); ! op->contr->freeze_inv=1; ! if(flag) ! for(tmp=op->inv;tmp!=NULL;tmp=tmp->below) ! save_object(fp,tmp); ! else ! while ((tmp=op->inv)!=NULL) { ! if(!IS_UNPAID(tmp)) ! save_object(fp,tmp); ! remove_ob(tmp); ! free_object(tmp); } ! fclose(fp); op->contr->freeze_inv=0; if(!flag) draw_all_inventory(op); --- 81,125 ---- } sprintf(filename,"%s/%s.pl",PLAYERDIR,op->name); fp=fopen(filename, "w"); ! if(fp) { ! fprintf(fp,"%s\n",op->contr->password); ! fprintf(fp,"gen_hp %d\n",op->contr->gen_hp); ! fprintf(fp,"gen_sp %d\n",op->contr->gen_sp); ! fprintf(fp,"listening %d\n",op->contr->listening); ! fprintf(fp,"spell %d\n",op->contr->chosen_spell); ! fprintf(fp,"shoottype %d\n",op->contr->shoottype); ! fprintf(fp,"lev_array %d\n",op->contr->last_level); ! fprintf(fp,"berzerk %d\n",op->contr->berzerk); ! fprintf(fp,"peaceful %d\n",op->contr->peaceful); ! fprintf(fp,"scroll %d\n",op->contr->scroll); ! for(i=0;icontr->pushstring[i][0]!='\0') ! fprintf(fp,"pushkey %s %s\n", ! keycodetochar(op,op->contr->pushkeys[i]), ! op->contr->pushstring[i]); ! fprintf(fp,"lev_array %d\n",op->level>10?10:op->level); ! for(i=1;i<=op->contr->last_level&&i<=10;i++) { ! fprintf(fp,"%d\n",op->contr->levhp[i]); ! fprintf(fp,"%d\n",op->contr->levsp[i]); } ! fprintf(fp,"spell_array %d\n",op->contr->nrofknownspells); ! for(i=0;icontr->nrofknownspells;i++) ! fprintf(fp,"%d\n",op->contr->known_spells[i]); ! fprintf(fp,"endplst\n"); ! save_object(fp,op); ! op->contr->freeze_inv=1; ! if(flag) ! for(tmp=op->inv;tmp!=NULL;tmp=tmp->below) ! save_object(fp,tmp); ! else ! while ((tmp=op->inv)!=NULL) { ! if(!IS_UNPAID(tmp)) ! save_object(fp,tmp); ! remove_ob(tmp); ! free_object(tmp); ! } ! fclose(fp); ! } op->contr->freeze_inv=0; if(!flag) draw_all_inventory(op); *************** *** 263,270 **** } } } ! if(fp) ! close_and_delete(fp); op->contr->last_value= -1; draw_stats(op); return; --- 265,271 ---- } } } ! close_and_delete(fp); op->contr->last_value= -1; draw_stats(op); return; *** map.c.old Wed Sep 23 14:11:25 1992 --- map.c Wed Sep 23 14:11:28 1992 *************** *** 166,172 **** void close_and_delete(FILE *fp) { char buf[MAX_BUF]; ! fclose(fp); if(!delete_last_file) return; delete_last_file=0; --- 166,173 ---- void close_and_delete(FILE *fp) { char buf[MAX_BUF]; ! if(fp) ! fclose(fp); if(!delete_last_file) return; delete_last_file=0; ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Thu Sep 24 06:17:38 1992 Received: by ifi.uio.no id ; Thu, 24 Sep 1992 06:17:22 +0200 Return-Path: Received: from RUTGERS.EDU by ifi.uio.no with SMTP id ; Thu, 24 Sep 1992 06:17:19 +0200 Received: from ogicse.UUCP by rutgers.edu (5.59/SMI4.0/RU1.4/3.08) with UUCP id AA23058; Wed, 23 Sep 92 23:14:48 EDT Received: by ogicse.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.3) id ; Wed, 23 Sep 92 12:25 PDT Received: by cadre.com (/\==/\ Smail3.1.24.1 #24.6) id ; Wed, 23 Sep 92 12:21 PDT Message-Id: Received: from fripp (eno) by cadreri (4.1/SMI-4.1) id AA00282; Wed, 23 Sep 92 15:15:27 EDT Received: from xtc.fripp by fripp (4.1/SMI-4.1) id AA01592; Wed, 23 Sep 92 15:18:18 EDT Date: Wed, 23 Sep 92 15:18:18 EDT From: jh@cadre.com (Joe Hartley) To: crossfire@ifi.uio.no Subject: Random thoughts Status: RO I did not like the LOS option, and turned it off immediately. I didn't go anywhere but the old mansion, but that was enough. I did not like the big black squares that indicated that I couldn't see, and the areas I had already looked at blacked out when I moved away. This means I either need to do much more elaborate mapping or more re-exploration (What was over here? Oh, yeah, nothing.). Maybe as more maps are designed keeping LOS in mind, it'll be more playable, but as it stands now, it's off. I don't like the fact that you can't try out weapons of armor in stores without actually paying for it. (It may hold true for all items in stores, but I only looked at these two.) I don't think it's unreasonable to try out weapons in a store, and say "Hmmm, this morningstar will do the same amount of damage as a broadsword, but is much more awkward to handle." Since I can't leave the store without paying for it anyway, what harm is there in my knowing what sort of performance I can expect? What the heck to those heavy clocks *do*, anyway?? The one good thing about repeating your mistakes is that you know when to cringe. =============================================================================== 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 Sep 23 18:31:21 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 18:30:19 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 18:30:14 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Wed, 23 Sep 92 12:30:01 EDT Received: via switchmail; Wed, 23 Sep 1992 12:30:00 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Wed, 23 Sep 1992 12:28:38 -0400 (EDT) Received: via niftymail; Wed, 23 Sep 1992 12:28:34 -0400 (EDT) Sender: "Joseph L. Traub" Date: Wed, 23 Sep 1992 12:28:34 -0400 (EDT) From: Moonchilde Subject: Re: Line of sight To: Anthony Baxter In-Reply-To: <199209230301.AA16596@yarra-glen.aaii.oz.au> References: <199209230301.AA16596@yarra-glen.aaii.oz.au> Cc: crossfire@ifi.uio.no Message-Id: <717265714.12881.0@freehold.andrew.cmu.edu> Status: RO I like that idea a lot. However, please make LOS OFF the default, that way, the old maps still work nicely :) ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Wed Sep 23 02:03:10 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 02:02:54 +0200 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 02:02:40 +0200 Received: from jacobs-creek.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA18316; Wed, 23 Sep 1992 10:02:14 +1000 From: Rupert G. Goldie Message-Id: <199209230002.AA18316@yarra-glen.aaii.oz.au> Received: by jacobs-creek.aaii.oz.AU (4.1/SMI-4.0) id AA02892; Wed, 23 Sep 92 10:02:07 EST Date: Wed, 23 Sep 92 10:02:07 EST To: crossfire@ifi.uio.no Subject: Line of sight. Status: RO I like the line of sight as it does make the game more exiting. It would be nice, however, if parts you have seen stayed visible after they move out of LOS, even if it was just the walls and floors that remained. -Rupert -- Rupert G. Goldie rgg@aaii.oz.au Australian Artificial Intelligence Institute From owner-crossfire Wed Sep 23 02:03:10 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 02:02:54 +0200 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 02:02:40 +0200 Received: from jacobs-creek.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA18316; Wed, 23 Sep 1992 10:02:14 +1000 From: Rupert G. Goldie Message-Id: <199209230002.AA18316@yarra-glen.aaii.oz.au> Received: by jacobs-creek.aaii.oz.AU (4.1/SMI-4.0) id AA02892; Wed, 23 Sep 92 10:02:07 EST Date: Wed, 23 Sep 92 10:02:07 EST To: crossfire@ifi.uio.no Subject: Line of sight. Status: RO I like the line of sight as it does make the game more exiting. It would be nice, however, if parts you have seen stayed visible after they move out of LOS, even if it was just the walls and floors that remained. -Rupert -- Rupert G. Goldie rgg@aaii.oz.au Australian Artificial Intelligence Institute From owner-crossfire Wed Sep 23 06:23:57 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 06:23:46 +0200 Return-Path: Received: from nella9.cc.monash.edu.au by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 06:23:38 +0200 Received: by nella9.cc.monash.edu.au (5.57/Ultrix3.0-C) id AA07250; Wed, 23 Sep 92 14:23:09 +1000 Message-Id: <9209230423.AA07250@nella9.cc.monash.edu.au> From: Dougal Scott Date: Wed, 23 Sep 1992 14:23:08 AEST In-Reply-To: dgc@cs.purdue.edu's insane dribblings of Sep 22, 13:01 Reply-To: dougal.scott@fcit.monash.edu.au X-Mailer: Mail User's Shell (7.2.3 5/22/91) To: dgc@cs.purdue.edu, Moonchilde Subject: Re: Line of sight Cc: crossfire@ifi.uio.no Status: RO You wrote: :) > Hey all. Most of the players here have been incessently complaining about :) > how much they dislike the line of sight addition. I'm just wondering if :) > this just happens to be the crew here, or if this is universally disliked :) > by most of the players. :) :) We are in complete agreement here. Although LOS is an interesting :) idea, it greatly reduced the fun we were having. We eventually just :) turned it off. People here like it, especially from the level design point. It lets you do all sorts of nasty things :) 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 You don't have to think too hard when you talk to teachers. -- J. D. Salinger From owner-crossfire Wed Sep 23 14:03:45 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 14:03:19 +0200 Return-Path: Received: from friken.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 14:03:18 +0200 From: Vidar Lund Received: by friken.ifi.uio.no ; Wed, 23 Sep 1992 14:03:10 +0200 Date: Wed, 23 Sep 1992 14:03:10 +0200 Message-Id: <9209231203.AAfriken.ifi.uio.no00502@friken.ifi.uio.no> To: crossfire@ifi.uio.no Subject: weaponspeed. Status: RO Now, we've heard alot of comments on LOS, but what do you guys think about the new weaponspeed system. It depends on str,dex,speed,lev,weight of weapon and speedfactor of weapon. Quite a bit, infact. Check it out ! >B^D vidar lund (supporter of LOS and weaponspeed) From owner-crossfire Wed Sep 23 05:01:55 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 05:01:45 +0200 Return-Path: Received: from yarra-glen.aaii.OZ.AU by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 05:01:17 +0200 Received: from harlie.aaii.oz.AU by yarra-glen.aaii.oz.au with SMTP (5.65c/SMI-4.0/AAII) id AA16596; Wed, 23 Sep 1992 13:01:08 +1000 Message-Id: <199209230301.AA16596@yarra-glen.aaii.oz.au> To: Frank Tore Johansen Cc: crossfire@ifi.uio.no Subject: Re: Line of sight In-Reply-To: Your message of "Wed, 23 Sep 92 00:42:01 +0200." <199209222242.AAyrsa17035@yrsa.ifi.uio.no> Date: Wed, 23 Sep 92 13:00:51 +1000 From: Anthony Baxter Status: RO In message <199209222242.AAyrsa17035@yrsa.ifi.uio.no> you write: > Let me try again, this time sending the letter to the mailinglist 8) > > Players here complained at first, but I've managed to convince them that > when all maps were designed, line of sight was not kept in mind. Thus > some maps are *very* lethal now. LOS was added to the game to make > it more exciting, but not *that* exciting 8) > I'm going to add lots of new objects which are transparent, as well as > lots of new spells & magic items which can help a poor wizard/barbarian... > Like "Wizard Eye", "Clairvoiance", "Crystal Ball", "Magic Mirror", etc, etc.. How about also making it an option, settable when the map is designed? Some people may wish to create maps that dont have LOS, others may not. (make 'LOS on' the default) Anthony -- anthony baxter australian artificial intelligence institute email : anthony@aaii.oz.au 1 grattan st, carlton, australia 3053 phone : +613 663 7922 From owner-crossfire Wed Sep 23 03:13:56 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 03:13:51 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 03:13:50 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Wed, 23 Sep 1992 03:13:49 +0200 Message-Id: <199209230113.AAyrsa24621@yrsa.ifi.uio.no> Subject: Re: Line of Sight To: crossfire@ifi.uio.no Date: Wed, 23 Sep 1992 03:13:48 +0200 In-Reply-To: <199209222004.AA07674@catalina.janet.ucla.edu>; from "Stephen Molloy" at Sep 22, 92 1:04 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Most of us here like the line of sight idea. It makes the game a bit > more challenging (although you can always click on the "blackness" > behind a door to see what's there). Don't know if I should call that a feature or a bug 8) Suffice to say that it won't be possible as soon as I've added other means of examining through doors. -Frank. From owner-crossfire Wed Sep 23 03:10:46 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 03:10:36 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 03:10:35 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Wed, 23 Sep 1992 03:10:34 +0200 Message-Id: <199209230110.AAyrsa24525@yrsa.ifi.uio.no> Subject: Re: 0.87.5 Patch (Sigh! So many patches, so little time.) To: crossfire@ifi.uio.no Date: Wed, 23 Sep 1992 03:10:33 +0200 In-Reply-To: <9209220937.AA13237@daneel.rdt.monash.edu.au>; from "Cameron Blackwood" at Sep 22, 92 7:37 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Tired of people who SPEND AGES looking for 18s in Str? > > Here is the solution. This patch allows you to SWAP characteristics > around in the "roll again?" phase. So if you want that 18 in your INT > rather that your STR, just type 1 then 4 ( to swap stats 1 & 4!). If you could include #ifdef SWAP_STATS around this code, and add some appropriate comments in config.h, you would make the life easier for me. This advice applies to others who adds new features to crossfire as well. -Frank. From owner-crossfire Wed Sep 23 00:42:10 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 00:42:03 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 00:42:02 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Wed, 23 Sep 1992 00:42:01 +0200 Message-Id: <199209222242.AAyrsa17035@yrsa.ifi.uio.no> Subject: Re: Line of sight To: crossfire@ifi.uio.no Date: Wed, 23 Sep 1992 00:42:01 +0200 In-Reply-To: <199209221801.AA12657@orion.cs.purdue.edu>; from "dgc@cs.purdue.edu" at Sep 22, 92 1:01 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > > Hey all. Most of the players here have been incessently complaining about > > how much they dislike the line of sight addition. I'm just wondering if > > this just happens to be the crew here, or if this is universally disliked > > by most of the players. > > We are in complete agreement here. Although LOS is an interesting > idea, it greatly reduced the fun we were having. We eventually just > turned it off. Let me try again, this time sending the letter to the mailinglist 8) Players here complained at first, but I've managed to convince them that when all maps were designed, line of sight was not kept in mind. Thus some maps are *very* lethal now. LOS was added to the game to make it more exciting, but not *that* exciting 8) I'm going to add lots of new objects which are transparent, as well as lots of new spells & magic items which can help a poor wizard/barbarian... Like "Wizard Eye", "Clairvoiance", "Crystal Ball", "Magic Mirror", etc, etc... If you don't like it, undefine USE_LOS, but I defenitely think the game is going in the right direction. That is, if I just could kill a few of the bugs 8) I honestly promise not to release further patches while tired 8) -Frank. From owner-crossfire Wed Sep 23 00:29:27 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 00:29:20 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 00:29:18 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Wed, 23 Sep 1992 00:29:18 +0200 Message-Id: <199209222229.AAyrsa16492@yrsa.ifi.uio.no> Subject: Re: Summon spells To: crossfire@ifi.uio.no Date: Wed, 23 Sep 1992 00:29:17 +0200 In-Reply-To: <717195108.12500.0@freehold.andrew.cmu.edu>; from "Moonchilde" at Sep 22, 92 4:51 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Frank, a quick question. > > When you summon elementals, it seems like you should be able to control them > like Golems. However, you cannot. > Is this intentional? or is this a bug? A bug of course. Sometimes you can control them, sometimes you can't... Haven't figured out why yet. -Frank. From owner-crossfire Wed Sep 23 00:23:32 1992 Received: by ifi.uio.no id ; Wed, 23 Sep 1992 00:23:25 +0200 Return-Path: Received: from holmenkollen.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 23 Sep 1992 00:23:24 +0200 Received: by holmenkollen.ifi.uio.no ; Wed, 23 Sep 1992 00:23:23 +0200 Date: Wed, 23 Sep 1992 0:23:23 +0200 From: Andreas Bringedal To: crossfire Subject: Bracers Message-Id: Status: RO As far as I know, you can wear bracers of dex with an armor, but not bracers of AC and armor. Frank. Correct me if I'm wrong! Andreas (Santo Dominion(not finished yet)) From owner-crossfire Tue Sep 22 23:53:38 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 23:53:30 +0200 Return-Path: Received: from soc6.acpub.duke.edu by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 23:53:27 +0200 Received: by soc6.acpub.duke.edu (5.65/Ultrix3.0-C) id AA09295; Tue, 22 Sep 92 17:53:25 -0400 Date: Tue, 22 Sep 92 17:53:25 -0400 From: mel1@acpub.duke.edu (Douglas Melamed) Message-Id: <9209222153.AA09295@soc6.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: Bug. I think. Status: RO You can't wear armor and bracers at the same time??? What gives. Bracers only lower armor class one to begin with. Is this a bug? From owner-crossfire Tue Sep 22 23:21:40 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 23:21:28 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 23:21:26 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 22 Sep 92 17:21:21 EDT Received: via switchmail; Tue, 22 Sep 1992 17:21:20 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 22 Sep 1992 16:51:59 -0400 (EDT) Received: via niftymail; Tue, 22 Sep 1992 16:51:49 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 22 Sep 1992 16:51:48 -0400 (EDT) From: Moonchilde Subject: Summon spells To: crossfire@ifi.uio.no Message-Id: <717195108.12500.0@freehold.andrew.cmu.edu> Status: RO Frank, a quick question. When you summon elementals, it seems like you should be able to control them like Golems. However, you cannot. Is this intentional? or is this a bug? --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Tue Sep 22 22:37:04 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 22:36:51 +0200 Return-Path: Received: from north7.acpub.duke.edu by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 22:36:47 +0200 Received: by north7.acpub.duke.edu (5.65/Ultrix3.0-C) id AA02625; Tue, 22 Sep 92 16:36:43 -0400 Date: Tue, 22 Sep 92 16:36:43 -0400 From: mel1@acpub.duke.edu (Douglas Melamed) Message-Id: <9209222036.AA02625@north7.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: LOS Status: RO The people I've talked to here love the LOS. It makes things much more realistic and much more challenging. It gives new life to old dungeons. IMHO. Doug From owner-crossfire Tue Sep 22 22:05:03 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 22:04:47 +0200 Return-Path: Received: from Catalina.JANET.UCLA.EDU by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 22:04:44 +0200 Received: by catalina.janet.ucla.edu (Sendmail 5.65c/4.01) id AA07674; Tue, 22 Sep 1992 13:04:25 -0700 Date: Tue, 22 Sep 1992 13:04:25 -0700 From: molloy@catalina.JANET.UCLA.EDU (Stephen Molloy) Message-Id: <199209222004.AA07674@catalina.janet.ucla.edu> To: crossfire@ifi.uio.no Subject: Line of Sight Status: RO Most of us here like the line of sight idea. It makes the game a bit more challenging (although you can always click on the "blackness" behind a door to see what's there). Steve From owner-crossfire Tue Sep 22 21:53:33 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 21:52:47 +0200 Return-Path: Received: from fiolilla.pvv.unit.no by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 21:52:46 +0200 Received: by fiolilla.pvv.unit.no id ; Tue, 22 Sep 1992 21:52:46 +0200 Date: Tue, 22 Sep 1992 21:52:46 +0200 From: jorgens@fiolilla.pvv.unit.no Message-Id: <199209221952.AA02864@fiolilla.pvv.unit.no> To: crossfire@ifi.uio.no Subject: Re: Line of sight X-Charset: ASCII X-Char-Esc: 38 Status: RO Hi. Most people here seems to dislike it too, but I think it's a neat idea. There is only one place I really hate it and that's when I enter Tower Of Sokoban(sp?), because the rocks block my view. If the rocks are that big, most players shouldn't even be able to move them. Kjetil From owner-crossfire Tue Sep 22 11:43:28 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 11:37:55 +0200 Return-Path: Received: from daneel.rdt.monash.edu.au by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 11:37:47 +0200 Received: by daneel.rdt.monash.edu.au (5.57/Ultrix3.0-C) id AA13237; Tue, 22 Sep 92 19:37:37 +1000 Message-Id: <9209220937.AA13237@daneel.rdt.monash.edu.au> From: Cameron Blackwood Date: Tue, 22 Sep 1992 19:37:36 AEST Reply-To: c.blackwood@rdt.monash.edu.au X-Cuse: technojunkie, hacker and cynic. X-Mailer: Mail User's Shell (7.2.3 5/22/91) To: crossfire@ifi.uio.no Subject: 0.87.5 Patch (Sigh! So many patches, so little time.) Status: RO Hello people, I like the new version of crossfire, its more and more like nethack :-) Tired of people who SPEND AGES looking for 18s in Str? Here is the solution. This patch allows you to SWAP characteristics around in the "roll again?" phase. So if you want that 18 in your INT rather that your STR, just type 1 then 4 ( to swap stats 1 & 4!). Patch from 0.87.5 ----------------- changes main.c (roll_stats function and misc. Code added here) changes player.c & login.c (to print help. Calls main.c) checked on a decstation 3100 Has anyone had problems with/suggestions: * characters 'sticking' on run mode? Ie you can only run & cant stop * Special weapons have gone missing? * 'regenerate' the treasure. ie stuff gets distributed around the maps after use (ie food that eated gets places randomly) this would allow the game to 'go on for ever' (books, scrolls, food, chests and money) have fun, cam Cameron Blackwood I will not be pushed, filed, indexed, Home: +61 3 889-1140(ah) briefed, debriefed or numbered! -Number 6 Email: c.blackwood@rdt.monash.edu.au Gaunix: korg@yoyo.cc.monash.edu.au -----===== Robotics and Digital Technology, Monash University. =====----- Ancient Pharohs looked forward to end of world: believed cadavers would rise, reclaim hearts from golden jars. Must be currently holding breath with anticipation. - Rorschach. The Watchmen. -=-=-=-=-=-=-=-=-=-=-=8< Cut Here >8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- *** main.c.bak Tue Sep 22 19:00:31 1992 --- main.c Tue Sep 22 19:04:42 1992 *************** *** 39,44 **** --- 39,46 ---- extern object *free_objects; extern object objarray[STARTMAX]; + int Swap_First; /* Swap stat Generation */ + void info_keys(object *op) { clear_win_info(op); draw_info(op,"Push `hjklynub' to walk in a direction."); *************** *** 154,159 **** --- 156,211 ---- op->stats.hp=op->stats.maxhp; } + Roll_Again(op) + object *op; + { + draw_info(op,"Roll again (y/n/1-6 1-6)? "); + draw_info(op,"1-6 then 1-6 to swap stats.\n"); + } + + Swap_Stat(op,Swap_Second) + object *op; + int Swap_Second; + { + signed char tmp; + char *from,*to,buffer[32]; + + if ( Swap_First== 0 ) { + draw_info(op,"How the hell did you get here?!?!!!"); + return; + } + switch(Swap_First) { + case 1: from= &op->stats.Str; break; + case 2: from= &op->stats.Dex; break; + case 3: from= &op->stats.Con; break; + case 4: from= &op->stats.Int; break; + case 5: from= &op->stats.Wis; break; + case 6: from= &op->stats.Cha; break; + }; + switch(Swap_Second) { + case 1: to= &op->stats.Str; draw_info(op,"Str done\n"); break; + case 2: to= &op->stats.Dex; draw_info(op,"Dex done\n"); break; + case 3: to= &op->stats.Con; draw_info(op,"Con done\n"); break; + case 4: to= &op->stats.Int; draw_info(op,"Int done\n"); break; + case 5: to= &op->stats.Wis; draw_info(op,"Wis done\n"); break; + case 6: to= &op->stats.Cha; draw_info(op,"Cha done\n"); break; + }; + tmp= (signed char) *from; + *from= (signed char) *to; + *to=tmp; + op->stats.hp= -10000; + op->level=0; + op->stats.exp=0; + op->stats.sp=0; + op->stats.ac=0; + add_exp(op,0); + op->stats.sp=op->stats.maxsp; + op->stats.hp=op->stats.maxhp; + add_exp(op,0); + Swap_First=0; + } + + int distance(object *ob1,object *ob2) { int i; i= (ob1->x - ob2->x)*(ob1->x - ob2->x)+ *************** *** 1490,1496 **** #else tmp->state=2; draw_info(tmp,"Welcome back!"); ! draw_info(tmp,"Roll again (y/n)?"); #endif if(tmp->name!=NULL) free_string(tmp->name); --- 1542,1548 ---- #else tmp->state=2; draw_info(tmp,"Welcome back!"); ! Roll_Again(tmp); #endif if(tmp->name!=NULL) free_string(tmp->name); *************** *** 1502,1507 **** --- 1554,1577 ---- break; case 2: switch(text[0]) { + case '1': + if ( ! Swap_First ) { Swap_First=1; draw_info(op,"Str ->"); } + else { Swap_Stat(op,1); } break; + case '2': + if ( ! Swap_First ) { Swap_First=2; draw_info(op,"Dex ->"); } + else { Swap_Stat(op,2); } break; + case '3': + if ( ! Swap_First ) { Swap_First=3; draw_info(op,"Con ->"); } + else { Swap_Stat(op,3); } break; + case '4': + if ( ! Swap_First ) { Swap_First=4; draw_info(op,"Int ->"); } + else { Swap_Stat(op,4); } break; + case '5': + if ( ! Swap_First ) { Swap_First=5; draw_info(op,"Wis ->"); } + else { Swap_Stat(op,5); } break; + case '6': + if ( ! Swap_First ) { Swap_First=6; draw_info(op,"Cha ->"); } + else { Swap_Stat(op,6); } break; case 'n': case 'N': op->state=3; *************** *** 1529,1535 **** repeat=1; break; default: ! draw_info(op,"Yes, No or Quit. Roll again?"); repeat=0; } break; --- 1599,1605 ---- repeat=1; break; default: ! draw_info(op,"Yes, No, Quit or 1-6 Roll again?"); repeat=0; } break; *** player.c.bak Tue Sep 22 19:00:41 1992 --- player.c Tue Sep 22 19:00:40 1992 *************** *** 142,148 **** #ifndef SAVE_PLAYER draw_info(p->ob,"Welcome, Brave Warrior!"); draw_info(p->ob," "); ! draw_info(p->ob,"Roll again (y/n)?"); #endif if((cp=XGetDefault(p->gdisp,"crossfire","name"))!=NULL&&check_name(p,cp)) { if(p->ob->name!=NULL) --- 142,148 ---- #ifndef SAVE_PLAYER draw_info(p->ob,"Welcome, Brave Warrior!"); draw_info(p->ob," "); ! Roll_Again(p->ob); #endif if((cp=XGetDefault(p->gdisp,"crossfire","name"))!=NULL&&check_name(p,cp)) { if(p->ob->name!=NULL) *** login.c.bak Tue Sep 22 19:00:35 1992 --- login.c Tue Sep 22 19:00:34 1992 *************** *** 144,150 **** draw_info(op," "); draw_info(op,"Welcome Brave New warrior!"); draw_info(op," "); ! draw_info(op,"Roll again (y/n)?"); op->state = 2; } else{ --- 144,150 ---- draw_info(op," "); draw_info(op,"Welcome Brave New warrior!"); draw_info(op," "); ! Roll_Again(op); op->state = 2; } else{ From owner-crossfire Tue Sep 22 20:06:49 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 20:06:40 +0200 Return-Path: Received: from gyda.ifi.uio.no by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 20:06:39 +0200 Received: from PO2.ANDREW.CMU.EDU by gyda.ifi.uio.no ; Tue, 22 Sep 1992 20:06:35 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 22 Sep 92 14:05:13 EDT Received: via switchmail; Tue, 22 Sep 1992 14:05:03 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 22 Sep 1992 14:03:54 -0400 (EDT) Received: via niftymail; Tue, 22 Sep 1992 14:03:50 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 22 Sep 1992 14:03:49 -0400 (EDT) From: Moonchilde Subject: Small bug in crossfire 0.87.5 To: crossfire@ifi.uio.no Message-Id: <717185029.12158.0@freehold.andrew.cmu.edu> Status: RO Frank, Some unix systems will barf if you pass a null pointer to fclose. What follows is a fix for that problem when it occurs in login.c. --------------------------------cut here----------------------------------- *** login.c.old Tue Sep 22 14:01:29 1992 --- login.c Tue Sep 22 13:50:05 1992 *************** *** 263,269 **** } } } ! close_and_delete(fp); op->contr->last_value= -1; draw_stats(op); return; --- 263,270 ---- } } } ! if(fp) ! close_and_delete(fp); op->contr->last_value= -1; draw_stats(op); return; ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Tue Sep 22 20:02:16 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 20:02:03 +0200 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 20:01:58 +0200 Received: from orion.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Tue, 22 Sep 1992 13:01:52 -0500 Received: from localhost by orion.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Tue, 22 Sep 1992 13:01:51 -0500 Message-Id: <199209221801.AA12657@orion.cs.purdue.edu> To: Moonchilde Cc: crossfire@ifi.uio.no Subject: Re: Line of sight In-Reply-To: Your message of Tue, 22 Sep 92 13:12:10 -0400. <717181930.12076.0@freehold.andrew.cmu.edu> Date: Tue, 22 Sep 92 13:01:51 EST From: dgc@cs.purdue.edu Status: RO > Hey all. Most of the players here have been incessently complaining about > how much they dislike the line of sight addition. I'm just wondering if > this just happens to be the crew here, or if this is universally disliked > by most of the players. > > --JT We are in complete agreement here. Although LOS is an interesting idea, it greatly reduced the fun we were having. We eventually just turned it off. Doug From owner-crossfire Tue Sep 22 19:49:16 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 19:48:40 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 19:48:34 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 22 Sep 92 13:13:25 EDT Received: via switchmail; Tue, 22 Sep 1992 13:13:20 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 22 Sep 1992 13:12:14 -0400 (EDT) Received: via niftymail; Tue, 22 Sep 1992 13:12:11 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 22 Sep 1992 13:12:10 -0400 (EDT) From: Moonchilde Subject: Line of sight To: crossfire@ifi.uio.no Message-Id: <717181930.12076.0@freehold.andrew.cmu.edu> Status: RO Hey all. Most of the players here have been incessently complaining about how much they dislike the line of sight addition. I'm just wondering if this just happens to be the crew here, or if this is universally disliked by most of the players. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Tue Sep 22 05:11:37 1992 Received: by ifi.uio.no id ; Tue, 22 Sep 1992 05:11:05 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Tue, 22 Sep 1992 05:11:04 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Tue, 22 Sep 1992 05:11:03 +0200 Message-Id: <199209220311.AAyrsa00231@yrsa.ifi.uio.no> Subject: Crossfire v0.87.3 To: crossfire@ifi.uio.no Date: Tue, 22 Sep 1992 05:11:03 +0200 X-Mailer: ELM [version 2.3 PL11] Status: RO For those who upgraded to 0.87.2, look for crossfire-0.87.2-0.87.3-diff.Z It fixes a serious bug in the previous patch, which destroyed the inventory of a player whenever (s)he dropped an item worth more than 100 gp. -Frank. From frankj Mon Sep 21 17:44:00 1992 Return-Path: Received: from gamle.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 21 Sep 1992 17:43:59 +0200 From: Frank Tore Johansen Received: by gamle.ifi.uio.no ; Mon, 21 Sep 1992 17:43:52 +0200 Date: Mon, 21 Sep 1992 17:43:52 +0200 Message-Id: <199209211543.AAgamle.ifi.uio.no21574@gamle.ifi.uio.no> To: frankj@ifi.uio.no Subject: crossfire v0.87 Status: RO The mailinglist will be down for 6-12 hours, thus I`m mailing this directly to each member. I figured it was time to release what I've done lately. The files can be found at ftp.ifi.uio.no as: /pub/crossfire/crossfire0.87.tar.Z and /pub/crossfire/maps0.87.tar.Z There are unfortunately some new bugs as well as the new features... But that's what I have bugtesters for 8) The line-of-sight routine should be made faster. If you have trouble with them, undefine "USE_LOS" in config.h. You might also be interesting in defining "SPEED_GAME" in config.h to see how well it works on your system. If you have little diskspace, you can compress most files in the lib directory. Read the README file placed there. And, as usual: remember to install the *new* fonts and *new* archetype file!!! -Frank. From owner-crossfire Mon Sep 21 15:36:36 1992 Received: by ifi.uio.no id ; Mon, 21 Sep 1992 15:35:34 +0200 Return-Path: Received: from north9.acpub.duke.edu by ifi.uio.no with SMTP id ; Mon, 21 Sep 1992 15:34:48 +0200 Received: by north9.acpub.duke.edu (5.65/Ultrix3.0-C) id AA17889; Mon, 21 Sep 92 09:34:10 -0400 Message-Id: <9209211334.AA17889@north9.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: My savecode diffs Date: Mon, 21 Sep 92 09:34:08 EDT From: mel1@acpub.duke.edu (Douglas Melamed) Status: RO Only a couple of people asked me for these, But I thought I'd go ahead and post them to the group anyway. They are diffed with version 0.86. diff -c crossfire/config.h ./config.h *** crossfire/config.h Fri Sep 4 03:31:40 1992 - --- ./config.h Fri Sep 18 18:22:40 1992 *************** *** 28,34 **** * There is still a calloc() call in player.c which is not affected by this * definition due to a bug which hasn't been found yet. */ ! /* #define USE_CALLOC */ /* * This define exchanges some functions with macros. If defined, a lot less - --- 28,34 ---- * There is still a calloc() call in player.c which is not affected by this * definition due to a bug which hasn't been found yet. */ ! #define USE_CALLOC /* * This define exchanges some functions with macros. If defined, a lot less *************** *** 62,68 **** * archetype file to be. */ ! #define LIBDIR "/hom/frankj/src/crossfire/lib" /* * If you want the players to be able to save their characters between - --- 62,68 ---- * archetype file to be. */ ! #define LIBDIR "/afs/acpub.duke.edu/users6/yr_95/mel1/games/cfire/lib" /* * If you want the players to be able to save their characters between *************** *** 70,78 **** * where the player-files will be put. */ ! /* #define SAVE_PLAYER */ ! #define PLAYERDIR "/hom/frankj/src/crossfire/lib/players" /* * It shouldn't be needed to change the following constants. */ - --- 70,82 ---- * where the player-files will be put. */ ! #define SAVE_PLAYER ! #define PLAYERDIR "/afs/acpub.duke.edu/users6/yr_95/mel1/News/.comp.src" + /* SCOREDIR is the directory were you want the highscores kept */ + + #define SCOREDIR "/afs/acpub.duke.edu/users6/yr_95/mel1/News/.comp.src" + /* * It shouldn't be needed to change the following constants. */ *************** *** 80,86 **** #define STARTMAX 500 /* How big array of objects to start with */ #define OBJ_EXPAND 100 /* How big steps to use when expanding array */ ! #define HIGHSCORE_LENGTH 100 #define TABLESIZE 947 /* Used in the shared strings library */ - --- 84,90 ---- #define STARTMAX 500 /* How big array of objects to start with */ #define OBJ_EXPAND 100 /* How big steps to use when expanding array */ ! #define HIGHSCORE_LENGTH 25 #define TABLESIZE 947 /* Used in the shared strings library */ diff -c crossfire/hiscore.c ./hiscore.c *** crossfire/hiscore.c Fri Sep 4 03:31:44 1992 - --- ./hiscore.c Fri Sep 18 18:18:06 1992 *************** *** 90,96 **** new_score->position=HIGHSCORE_LENGTH+1; old_score.position= -1; ! sprintf(filename,"%s/highscore",LIBDIR); if((fp=fopen(filename,"r"))!=NULL) { while(fgets(buf,MAX_BUF,fp)!=NULL&&nrofscoresposition=HIGHSCORE_LENGTH+1; old_score.position= -1; ! sprintf(filename,"%s/highscore",SCOREDIR); if((fp=fopen(filename,"r"))!=NULL) { while(fgets(buf,MAX_BUF,fp)!=NULL&&nrofscorescontr->write_buf[0]=='?')&&(op->contr->password[0]=='~')) { ! draw_info(op,op->contr->write_buf); ! if(op->contr->writing<2) { ! op->contr->write_buf[0]='>'; ! draw_info(op,"What is your name "); return 0; - - } - - if(op->name!=NULL) - - free_string(op->name); - - op->name=add_string(op->contr->write_buf+1); - - draw_stats(op); - - op->contr->write_buf[0]='\0'; - - op->contr->writing=0; - - draw_info(op,"What is your password "); - - write_ch(op,'>'); - - op->contr->password[0]='!'; - - op->contr->no_echo=1; - - op->contr->name_changed=1; - - return 0; } ! if((op->contr->write_buf[0]=='?')&&(op->contr->password[0]=='!')) { strncpy(op->contr->password,op->contr->write_buf+1,7); op->contr->password[8]='\0'; op->contr->writing=0; ! op->state=2; ! op->contr->no_echo=0; check_login(op); return 0; } #endif if(op->contr->write_buf[0]=='"') { write_ch(op,'"'); - --- 592,646 ---- return 1; } #ifdef SAVE_PLAYER + if(op->state==6) { if((op->contr->write_buf[0]=='?')&&(op->contr->password[0]=='~')) { ! player *pl; ! int used_name = 0; /* to keep from having multiple logins */ ! ! if(op->name!=NULL) ! free_string(op->name); ! op->name=add_string(op->contr->write_buf+1); ! op->contr->name_changed=1; ! op->contr->last_value= -1; ! op->contr->writing = 0; ! for(pl=first_player;pl!=NULL;pl=pl->next) /* check for multy login */ ! if (strcmp(pl->ob->name,op->name) == 0) ! used_name++; ! if(used_name > 1) { ! clear_win_info(op); ! draw_info(op,"******* NOT SO FAST *******"); ! draw_info(op,"** That names already in use **"); ! draw_info(op,"******* TRY AGAIN *******"); ! draw_info(op,"############# FIRST #############"); ! draw_info(op," "); ! op->contr->writing=1; ! op->contr->password[0]='~'; ! op->contr->write_buf[0]='?'; ! op->contr->write_buf[1]='\0'; ! draw_info(op,"By what name shalt thou be known"); ! return 0; ! } ! draw_stats(op); ! draw_info(op,"####### NOW #######"); ! draw_info(op," "); ! op->contr->writing=1; ! op->contr->write_buf[0]='?'; ! op->contr->write_buf[1]='\0'; ! draw_info(op,"What is your password "); ! op->contr->name_changed=1; ! op->contr->password[0]='%'; return 0; } ! if((op->contr->write_buf[0]=='?')&&(op->contr->password[0]=='%')) { /* DMM */ strncpy(op->contr->password,op->contr->write_buf+1,7); op->contr->password[8]='\0'; op->contr->writing=0; ! op->contr->write_buf[0] = '\0'; check_login(op); return 0; } + return 0; + } #endif if(op->contr->write_buf[0]=='"') { write_ch(op,'"'); *************** *** 657,662 **** - --- 677,685 ---- draw_info(op," peaceful - Toggles player attack."); draw_info(op," scroll - Toggles scroll here."); draw_info(op," dm - Enters cheat mode."); + #ifdef SAVE_PLAYER + draw_info(op," quit - QUITS & SAVES character!"); + #endif if(!IS_WIZ(op)) return 0; draw_info(op,"Cheat mode commands:"); *************** *** 682,692 **** info_flush(); strncpy(op->contr->killer,"quit",MAX_NAME); #ifdef SAVE_PLAYER ! if(!save_player(op)) ! check_score(op); ! #else ! check_score(op); #endif draw_info(op,"Do you want to play again (a/q)?"); return 0; } - --- 705,713 ---- info_flush(); strncpy(op->contr->killer,"quit",MAX_NAME); #ifdef SAVE_PLAYER ! save_player(op); #endif + check_score(op); draw_info(op,"Do you want to play again (a/q)?"); return 0; } *************** *** 813,819 **** return 0; } if(op->contr->no_echo) { ! if(!strcmp(op->contr->write_buf,">firecross")){ SET_WIZ(op); draw_info(op, "Ok, you are the DUNGEON MASTER!"); info_all("The Dungeon Master has arrived!",1); - --- 834,840 ---- return 0; } if(op->contr->no_echo) { ! if(!strcmp(op->contr->write_buf,">naughty")){ SET_WIZ(op); draw_info(op, "Ok, you are the DUNGEON MASTER!"); info_all("The Dungeon Master has arrived!",1); *************** *** 1278,1285 **** look_at(op,0,0); pl->last_cmd=2; break; ! case 'Q': draw_info(op,"Type 'quit to quit."); break; case '>': rotate_right(op); - --- 1299,1310 ---- look_at(op,0,0); pl->last_cmd=2; break; ! case 'Q': ! #ifndef SAVE_PLAYER draw_info(op,"Type 'quit to quit."); + #else + draw_info(op,"Type 'quit to quit & SAVE."); + #endif break; case '>': rotate_right(op); diff -c crossfire/login.c ./login.c *** crossfire/login.c Fri Sep 4 03:31:46 1992 - --- ./login.c Fri Sep 18 18:18:06 1992 *************** *** 28,41 **** FILE *fp; char filename[MAX_BUF]; object *tmp; if(!op->contr->name_changed||!op->stats.exp||WAS_WIZ(op)) { ! draw_info(op,"Your name is not valid,"); ! draw_info(op,"Game not saved."); return 0; } sprintf(filename,"%s/%s.pl",PLAYERDIR,op->name); fp=fopen(filename, "w"); fprintf(fp,"%s\n",op->contr->password); save_object(fp,op); op->contr->freeze_inv=1; - --- 28,51 ---- FILE *fp; char filename[MAX_BUF]; object *tmp; + int loop; if(!op->contr->name_changed||!op->stats.exp||WAS_WIZ(op)) { ! draw_info(op,"** No experience, or no name! **"); ! draw_info(op,"** Game not saved. **"); return 0; } sprintf(filename,"%s/%s.pl",PLAYERDIR,op->name); fp=fopen(filename, "w"); + if(fp == NULL) { /* DMM So disk errors won't seg. fault us */ + draw_info(op,"*** Disk full or protected ***"); + draw_info(op,"*** Unable to save character ***"); + return 0; + } + fprintf(fp,"%c%c%c",op->contr->digestion,op->contr->gen_hp,op->contr->ge n_sp);/*DMM*/ + for(loop = 0; loop < 11; loop++) + fprintf(fp,"%c%c",op->contr->levhp[loop],op->contr->levsp[loop]); + fprintf(fp,"%c",op->contr->last_level); /* DMM */ fprintf(fp,"%s\n",op->contr->password); save_object(fp,op); op->contr->freeze_inv=1; *************** *** 48,53 **** - --- 58,64 ---- fclose(fp); op->contr->freeze_inv=0; draw_all_inventory(op); + draw_info(op,"******* THY CHARACTER HAS BEEN SAVED *******"); chmod(filename,0660); return 1; } *************** *** 58,64 **** char filename[MAX_BUF]; char buf[MAX_BUF]; object *tmp; ! int i,j,flag; mapstruct *m; sprintf(filename,"%s/%s.pl",PLAYERDIR,op->name); - --- 69,75 ---- char filename[MAX_BUF]; char buf[MAX_BUF]; object *tmp; ! int i,j,flag,loop; mapstruct *m; sprintf(filename,"%s/%s.pl",PLAYERDIR,op->name); *************** *** 71,93 **** op->state = 2; } else{ fgets(buf,MAX_BUF,fp); buf[strlen(buf)-1]='\0'; if (strcmp(buf,op->contr->password)){ draw_info(op," "); ! draw_info(op,"Wrong Password!"); ! draw_info(op," "); ! draw_info(op,"What is your name "); ! op->state = 0; if(op->name!=NULL) free_string(op->name); op->name=NULL; - - op->contr->writing=0; - - write_ch(op,'>'); - - op->contr->password[0]='~'; } else { op->contr->name_changed=1; load_object(fp,op); m=ready_map(1,0); i=find_free_spot(NULL,m,m->startx,m->starty,0,SIZEOFFREE); op->x=m->startx+freearr_x[i],op->y=m->starty+freearr_y[i]; - --- 82,110 ---- op->state = 2; } else{ + fscanf(fp,"%c%c%c",&(op->contr->digestion),&(op->contr->gen_hp),&(op->co ntr->gen_sp)); + for(loop = 0; loop < 11; loop++) + fscanf(fp,"%c%c",&(op->contr->levhp[loop]),&(op->contr->levsp[loop])); + fscanf(fp,"%c",&(op->contr->last_level)); /* DMM */ fgets(buf,MAX_BUF,fp); buf[strlen(buf)-1]='\0'; if (strcmp(buf,op->contr->password)){ + clear_win_info(op); + draw_info(op,"#### Invalid Password! ####"); draw_info(op," "); ! op->state = 6; ! op->contr->writing=1; ! op->contr->password[0]='~'; ! op->contr->write_buf[0]='?'; ! op->contr->write_buf[1]='\0'; ! draw_info(op,"By what name shalt thou be known"); if(op->name!=NULL) free_string(op->name); op->name=NULL; } else { op->contr->name_changed=1; load_object(fp,op); + op->state=0; m=ready_map(1,0); i=find_free_spot(NULL,m,m->startx,m->starty,0,SIZEOFFREE); op->x=m->startx+freearr_x[i],op->y=m->starty+freearr_y[i]; *************** *** 110,116 **** draw_all_inventory(op); draw_all_look(op); draw_all_message(op); ! if (op->stats.hp<0||op->stats.food<0){ clear_win_info(op); draw_info(op,"Your character was dead, when you quit."); draw_info(op," "); - --- 127,133 ---- draw_all_inventory(op); draw_all_look(op); draw_all_message(op); ! if (op->stats.hp<0||op->stats.food<0){ /* DMM MAKE THIS OBSOLETE */ clear_win_info(op); draw_info(op,"Your character was dead, when you quit."); draw_info(op," "); *************** *** 127,133 **** draw_all_inventory(op); draw_all_look(op); draw_all_message(op); ! draw_info(op,"Welcome Back!"); op->carrying=0; op->contr->freeze_inv=1; tmp=get_object(); - --- 144,152 ---- draw_all_inventory(op); draw_all_look(op); draw_all_message(op); ! draw_info(op,"*** Welcome Back! ***"); ! draw_info(op," "); ! start_info(op); op->carrying=0; op->contr->freeze_inv=1; tmp=get_object(); diff -c crossfire/main.c ./main.c *** crossfire/main.c Fri Sep 4 03:31:47 1992 - --- ./main.c Fri Sep 18 18:18:07 1992 *************** *** 1238,1243 **** - --- 1238,1247 ---- void do_some_living(object *op) { char buf[MAX_BUF]; + #ifdef SAVE_PLAYER + int i; + mapstruct *m; + #endif object *tmp; int last_food=op->stats.food; int gen_hp=(op->contr->gen_hp+1)*op->stats.maxhp; *************** *** 1254,1274 **** } if(!op->state&&--op->last_heal<0) { if(op->stats.hpstats.maxhp) ! op->stats.hp++,op->stats.food--; op->last_heal=1200/(gen_hp<20 ? 30 : gen_hp+10); ! op->stats.food--; if(op->contr->digestion<0) op->stats.food+=op->contr->digestion; else if(op->contr->digestion>0&&RANDOM()%op->contr->digestion) op->stats.food=last_food; } if(op->contr->digestion<0) while(op->stats.food<0&&op->stats.hp>0) op->stats.food++,op->stats.hp--; ! if (!op->state&&!IS_WIZ(op)&&(op->stats.hp<0||op->stats.food<0)) { ! if(op->stats.food<0) { sprintf(buf,"%s starved to death.",op->name); strcpy(op->contr->killer,"starvation"); } - --- 1258,1284 ---- } if(!op->state&&--op->last_heal<0) { if(op->stats.hpstats.maxhp) ! if(op->stats.food > 0) /*DMM */ ! op->stats.hp++,op->stats.food--; op->last_heal=1200/(gen_hp<20 ? 30 : gen_hp+10); ! if(op->stats.food > 0) ! op->stats.food--; ! else ! op->stats.hp--; if(op->contr->digestion<0) op->stats.food+=op->contr->digestion; else if(op->contr->digestion>0&&RANDOM()%op->contr->digestion) op->stats.food=last_food; } + + if(op->contr->digestion<0) while(op->stats.food<0&&op->stats.hp>0) op->stats.food++,op->stats.hp--; ! if (!op->state&&!IS_WIZ(op)&&(op->stats.hp<0/*||op->stats.food<0 */)) { ! if(op->stats.food==0) { sprintf(buf,"%s starved to death.",op->name); strcpy(op->contr->killer,"starvation"); } *************** *** 1283,1297 **** - --- 1293,1349 ---- op->contr->golem=NULL; } remove_ob(op); + + #ifndef SAVE_PLAYER op->state=1; op->direction=0; check_score(op); draw_info(op,"Do you want to play again (a/q)?"); + #endif + tmp=arch_to_object(find_archetype("gravestone")); sprintf(buf,"%s's gravestone",op->name); tmp->name=add_string(buf); tmp->x=op->x,tmp->y=op->y; insert_ob_in_map(tmp,op->map); + + #ifdef SAVE_PLAYER /* if players dies they lose posessions permanently */ + op->state = 6; /* so monsters won't attack */ + m=ready_map(1,0); + i=find_free_spot(NULL,m,m->startx,m->starty,0,SIZEOFFREE); + op->x=m->startx+freearr_x[i],op->y=m->starty+freearr_y[i]; + insert_ob_in_map(op,m); + tmp = op->inv; + while (tmp != NULL) { + if (IS_APPLIED(tmp)) + apply_special(op,tmp); + op->inv=tmp->below; + remove_ob(tmp); + free_object(tmp); + tmp = op->inv; + } + fix_player(op); /* give them 1 hp and 500 food and put them back at start */ + op->stats.hp = 1; + op->stats.food = 500; + draw_stats(op); + draw_all_info(op); + draw_all_inventory(op); + draw_all_look(op); + draw_all_message(op); + clear_win_info(op); + draw_info(op,"******* YOU ARE AMAZINGLY REINCARNATED *******"); + draw_info(op,"******* TOO BAD YOUR ITEMS WEREN'T :) *******"); + if (roll_stat() > 10) { /* DMM give % chance of losing a Con point */ + op->stats.Con -= 1; + draw_info(op,"******* YOU DON'T QUITE RECOVER FULLY *******"); + draw_info(op,"******* YOU FEEL LESS HEALTHY *******"); + draw_stats(op); + } + save_player(op); + op->state = 0; /* player back in game */ + check_score(op); + #endif + } } *************** *** 1513,1518 **** - --- 1565,1573 ---- break; case KeyPress: op->contr->count_left=0; + #ifdef SAVE_PLAYER /* DMM Keeps ctrl characters from printing '&' */ + if(op->state != 6) + #endif if(!XLookupString(&op->contr->gevent.xkey,text,10, &op->contr->gkey,NULL)) { text[0]='&'; *************** *** 1530,1543 **** return; } else if(text[0]=='a'||text[0]=='A') { op->contr->ob=get_player(op->contr,op->map); tmp=op->contr->ob; ! #ifdef SAVE_PLAYER ! tmp->state=0; tmp->contr->writing=1; tmp->contr->password[0]='~'; tmp->contr->write_buf[0]='?'; ! draw_info(tmp,"What is your name "); #else tmp->state=2; draw_info(tmp,"Welcome back!"); - --- 1585,1602 ---- return; } else if(text[0]=='a'||text[0]=='A') { + op->contr->ob=get_player(op->contr,op->map); tmp=op->contr->ob; ! #ifdef SAVE_PLAYER /* DMM CHANGE TO RESURRECTION CODE */ ! tmp->state=6; ! clear_win_info(tmp); ! draw_info(tmp,"############# FIRST #############"); ! draw_info(tmp," "); tmp->contr->writing=1; tmp->contr->password[0]='~'; tmp->contr->write_buf[0]='?'; ! draw_info(tmp,"By what name shalt thou be known"); #else tmp->state=2; draw_info(tmp,"Welcome back!"); *************** *** 1638,1643 **** - --- 1697,1711 ---- op->contr->fire_on=0; op->contr->run_on=0; break; + #ifdef SAVE_PLAYER + case 6: /* DMM the login case! This is needed badly */ + if ((XLookupString(&op->contr->gevent.xkey,text,10, + &op->contr->gkey,NULL)) && op->contr->writing && text[0] !=' ') { + op->contr->last_cmd=0; + repeat = parse_writing(op,text[0]); + } + break; + #endif default: fprintf(stderr,"Illegal state: %d\n",op->state); } diff -c crossfire/object.c ./object.c *** crossfire/object.c Fri Sep 4 03:31:47 1992 - --- ./object.c Fri Sep 18 18:18:07 1992 *************** *** 635,642 **** where->carrying+=op->weight*op->nrof; /* I assume combined objects have no inventory */ } else where->carrying+=op->weight+op->carrying; - - if(where->type==PLAYER) - - fix_player(where); UNSET_REMOVED(op); op->map=where->map; op->env=where; - --- 635,640 ---- *************** *** 649,656 **** else op->below=NULL; where->inv=op; ! if(where->type==PLAYER) draw_inventory(where); } void check_walk_on(object *op) { - --- 647,656 ---- else op->below=NULL; where->inv=op; ! if(where->type==PLAYER) { ! fix_player(where); draw_inventory(where); + } } void check_walk_on(object *op) { diff -c crossfire/player.c ./player.c *** crossfire/player.c Fri Sep 4 03:31:47 1992 - --- ./player.c Fri Sep 18 18:18:08 1992 *************** *** 114,134 **** free_string(p->ob->name); p->ob->name=add_string(cp); #ifdef SAVE_PLAYER ! p->write_buf[0]='\0'; ! p->writing=0; draw_info(p->ob,"What is your password "); ! write_ch(p->ob,'>'); ! p->password[0]='!'; ! p->no_echo=1; #endif p->name_changed=1; } else { #ifdef SAVE_PLAYER ! p->ob->state=0; p->ob->contr->writing=1; p->password[0]='~'; p->write_buf[0]='?'; ! draw_info(p->ob,"What is your name "); #endif cp=strchr(buf,'.'); if(cp!=NULL) *cp='\0'; - --- 114,139 ---- free_string(p->ob->name); p->ob->name=add_string(cp); #ifdef SAVE_PLAYER ! p->ob->state=6; ! draw_info(p->ob,"####### NOW #######"); ! draw_info(p->ob," "); ! p->writing=1; ! p->write_buf[0]='?'; ! p->write_buf[1]='\0'; draw_info(p->ob,"What is your password "); ! p->password[0]='%'; #endif p->name_changed=1; } else { #ifdef SAVE_PLAYER ! p->ob->state=6; ! draw_info(p->ob,"############# FIRST #############"); ! draw_info(p->ob," "); p->ob->contr->writing=1; p->password[0]='~'; p->write_buf[0]='?'; ! p->write_buf[1]='\0'; ! draw_info(p->ob,"By what name shalt thou be known"); #endif cp=strchr(buf,'.'); if(cp!=NULL) *cp='\0'; diff -c crossfire/xio.c ./xio.c *** crossfire/xio.c Fri Sep 4 03:31:48 1992 - --- ./xio.c Fri Sep 18 18:18:09 1992 *************** *** 174,179 **** - --- 174,182 ---- (void) sprintf(buf,"%s lost connection.",pl->name); if(pl->ob->state==0||pl->ob->state==3||pl->ob->state==5) remove_ob(pl->ob); + #ifdef SAVE_PLAYER + save_player(pl->ob); /* DMM */ + #endif free_object(pl->ob); free_player(pl); if(first_player==NULL) ------- End of Forwarded Message From owner-crossfire Thu Sep 17 16:01:47 1992 Received: by ifi.uio.no id ; Thu, 17 Sep 1992 16:01:34 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 17 Sep 1992 16:01:33 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Thu, 17 Sep 1992 16:01:32 +0200 Message-Id: <199209171401.AAyrsa28182@yrsa.ifi.uio.no> Subject: The crossfire mailing list To: crossfire@ifi.uio.no Date: Thu, 17 Sep 1992 16:01:31 +0200 X-Mailer: ELM [version 2.3 PL11] Status: RO Just for the record for those left: To unsubscribe to this mailing list, send requests to crossfire-request@ifi.uio.no -Frank. From eneq@Haag.DoCS.UU.SE Wed Sep 16 16:27:04 1992 Return-Path: Received: from sunic.sunet.se by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 16:27:02 +0200 Received: from Haag.DoCS.UU.SE by sunic.sunet.se (5.65c8/1.28) id AA27470; Wed, 16 Sep 1992 16:26:39 +0200 Received: by Haag.DoCS.UU.SE (Sun-4/20, SunOS 4.1.1) with sendmail 5.61-bind 1.5+ida/ICU/DoCS id AA09486; Wed, 16 Sep 92 16:26:36 +0200 Date: Wed, 16 Sep 92 16:26:36 +0200 From: Rickard Eneqvist Message-Id: <9209161426.AA09486@Haag.DoCS.UU.SE> To: Frank Tore Johansen Cc: eneq@haag.docs.uu.se (Rickard Eneqvist), rilba@stna7.stna7.stna.dgac.fr, crossfire@ifi.uio.no Subject: Re: crossfire 0.86 In-Reply-To: Your message of "Wed, 16 Sep 92 16:03:44 +0200." <199209161403.AAsognsvann01024@sognsvann.ifi.uio.no> Status: RO Eneq wrote: ]> o A scenic type so one wouldn't have to see the grass etc. Frank wrote: >What exactly do you mean? I refer to what you see in the 'You see:'-window, I don't really like that you see what is obvious, for ex. the grass. ]> o Possibility to bind text to bitmaps. Any text bound to a ]> bitmap should be overrided by text bound to a map-location. >The game uses objects. It doesn't store names in map-locations, but in >objects. Couldn't one add names tied to map-locations? I feel that it could add a nice touch to the atmosphere. ]> o Magic spells tied to objects? Mjollnir for instance should be ]> able to cast lightning. This is a nice feature later when fighters ]> will have difficulty learning spells. >Indeed, I had just that in mind 8) Suspected that :-). /Eneq From owner-crossfire Wed Sep 16 16:05:54 1992 Received: by ifi.uio.no id ; Wed, 16 Sep 1992 16:03:47 +0200 Return-Path: Received: from sognsvann.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 16:03:45 +0200 From: Frank Tore Johansen Received: by sognsvann.ifi.uio.no ; Wed, 16 Sep 1992 16:03:44 +0200 Message-Id: <199209161403.AAsognsvann01024@sognsvann.ifi.uio.no> Subject: Re: crossfire 0.86 To: eneq@Haag.DoCS.UU.SE (Rickard Eneqvist) Date: Wed, 16 Sep 1992 16:03:44 +0200 Cc: rilba@stna7.stna7.stna.dgac.fr, crossfire@ifi.uio.no, eneq@Haag.DoCS.UU.SE In-Reply-To: <9209161332.AA09338@Haag.DoCS.UU.SE>; from "Rickard Eneqvist" at Sep 16, 92 3:32 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > o I would sure like to see quests in crossfire, I realize that > these are hard to implement in a general manner but with the > proposed 'sub-language' it should be possible... Two features which should arrive in the near future will make it easier to make quests. The first is messages, stored as writing in a book, on a sign, or spoken by a magic mouth/npc. That will add alot to the "feeling" of the game. The second is custom-made keys which will only fit one door. > o Another thing would be a decent line of sight. The run and > hack-style that dominates the game now would be a memory of > the past if one couldn't see what's around the bend. That has already been added to the game. I'll try to release 0.87 soon... According to local player-testers crossfire is now a new game due to that 8) > o A scenic type so one wouldn't have to see the grass etc. What exactly do you mean? > o Unique objects, I hate to see XXX no. of Stormbringers. > Should also lower the chance to just find an artifact. That is getting better and better since more and more items are being added to the game all the time. It is very difficult to avoid having more than one of any artifact. Consider two players playing a separate game, both finding the same artifact, both saving (soon possible), then later restoring their players to the same game. > o Possibility to bind text to bitmaps. Any text bound to a > bitmap should be overrided by text bound to a map-location. The game uses objects. It doesn't store names in map-locations, but in objects. The objects are usually made from archetypes, and usually only one archetype use a specific bitmap. The archetypes can have any name. Thus if you change the name of the archetype "grass" to "plains", it would change the names of all occurences of the grass bitmap. The archetype file is stored at "LIBDIR/archetypes". > o Separate characters more. At the moment there is no vital > difference between mages/wizards and priests/clerics which > it should be since the latter hasn't learned to cast a spell > they merely ask their god for a miracle. So wizards/mages > should have high int to suceed but priests/clerics should > have high int. One can also draw this further, healing > spells should be hard for a mage/wizard to learn but easy > for a cleric/priest. The spell system will continue to be expanded, probably into different classes of spells (for instance mentalist/god-granted/evocation/etc). Got to do one thing at the time though 8) > o A more consistent map? I don't really like the idea of shops inside > mansions or forests for that matter. Maps aren't my departement 8) I have absolutely no quality control of now, the local players here can edit any map they like. Of course this leads to chaos... Hopefully a nice map can be collected from various places around the world before v1.0 is released. One of the reasons I haven't bothered much about how the maps look, is that there are constantly added new features. A map which looks great today might look ancient and boring tomorrow. > o Magic spells tied to objects? Mjollnir for instance should be > able to cast lightning. This is a nice feature later when fighters > will have difficulty learning spells. Indeed, I had just that in mind 8) > Hope you don't take this as critizism because the game is GOLD and > the work you have done is remarkable. Thanx! I like to get feedback from anyone, no matter how harsh 8) -Frank. From eneq@Haag.DoCS.UU.SE Wed Sep 16 15:33:40 1992 Return-Path: Received: from sunic.sunet.se by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 15:33:35 +0200 Received: from Haag.DoCS.UU.SE by sunic.sunet.se (5.65c8/1.28) id AA23239; Wed, 16 Sep 1992 15:33:04 +0200 Received: by Haag.DoCS.UU.SE (Sun-4/20, SunOS 4.1.1) with sendmail 5.61-bind 1.5+ida/ICU/DoCS id AA09338; Wed, 16 Sep 92 15:32:57 +0200 Date: Wed, 16 Sep 92 15:32:57 +0200 From: Rickard Eneqvist Message-Id: <9209161332.AA09338@Haag.DoCS.UU.SE> To: Frank Tore Johansen Cc: rilba@stna7.stna7.stna.dgac.fr, crossfire@ifi.uio.no, eneq@Haag.DoCS.UU.SE Subject: Re: crossfire 0.86 In-Reply-To: Your message of "Tue, 15 Sep 92 13:25:18 +0200." <199209151125.AAyrsa16200@yrsa.ifi.uio.no> Status: RO Rilba wrote: ]> * Could it be possible that mages, wizards, priests, clerics have a greater ]> range of accessible spells than warriors ? That they gain spells as their ]> level increase ? that their spells become more powerful as they gain level ? ]> That each class of character access to distinctive spells ? Frank wrote: >In 0.87 players will need spellbooks to learn spells. And their chance >of succeeding in learning a spell will depend on wisdom (just had to >use that stat for something). Neat! In AD&D a high wisdom gives bonus spellpoints when increasing level (if one is priest that is...). Hmmm, this might not be as neat as I thought since it would mean that characters with high wisdom (priests/clerics etc...) would be more able to learn spells than a wizard/mage would. And now on to some of my own thoughts... o I would sure like to see quests in crossfire, I realize that these are hard to implement in a general manner but with the proposed 'sub-language' it should be possible... o Another thing would be a decent line of sight. The run and hack-style that dominates the game now would be a memory of the past if one couldn't see what's around the bend. o A scenic type so one wouldn't have to see the grass etc. o Unique objects, I hate to see XXX no. of Stormbringers. Should also lower the chance to just find an artifact. o Possibility to bind text to bitmaps. Any text bound to a bitmap should be overrided by text bound to a map-location. o Separate characters more. At the moment there is no vital difference between mages/wizards and priests/clerics which it should be since the latter hasn't learned to cast a spell they merely ask their god for a miracle. So wizards/mages should have high int to suceed but priests/clerics should have high int. One can also draw this further, healing spells should be hard for a mage/wizard to learn but easy for a cleric/priest. o A more consistent map? I don't really like the idea of shops inside mansions or forests for that matter. o Magic spells tied to objects? Mjollnir for instance should be able to cast lightning. This is a nice feature later when fighters will have difficulty learning spells. Hope you don't take this as critizism because the game is GOLD and the work you have done is remarkable. /Eneq From owner-crossfire Wed Sep 16 02:32:46 1992 Received: by ifi.uio.no id ; Wed, 16 Sep 1992 02:32:31 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 02:32:29 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Wed, 16 Sep 1992 02:32:28 +0200 Message-Id: <199209160032.AAyrsa13852@yrsa.ifi.uio.no> Subject: Re: Patch to fix golem bug. To: crossfire@ifi.uio.no Date: Wed, 16 Sep 1992 02:32:28 +0200 In-Reply-To: <716602521.18592.0@freehold.andrew.cmu.edu>; from "Moonchilde" at Sep 15, 92 8:15 pm X-Mailer: ELM [version 2.3 PL11] Status: RO jt1o+@andrew.cmu.edu wrote: > ! for (tmp = get_map_ob(op->map, op->x+freearr_x[op->direction], > ! op->y+freearr_y[op->direction]); > ! tmp != NULL; tmp = tmp->above) > ! if(IS_ALIVE(tmp)) > ! attack_ob(op,tmp); You should check that tmp->stats.dam != 0 before calling attack_ob(op,tmp). In other words: if(IS_ALIVE(tmp) && tmp->stats.dam) The alive-flag is set in objects that are "hit-able", not neccesarily "alive" objects. Not that this was serious, all it means is that doors would hit back when golems try to break through them 8) -Frank. From owner-crossfire Wed Sep 16 02:16:27 1992 Received: by ifi.uio.no id ; Wed, 16 Sep 1992 02:16:15 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 02:16:11 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 15 Sep 92 20:16:06 EDT Received: via switchmail; Tue, 15 Sep 1992 20:16:05 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 15 Sep 1992 20:15:26 -0400 (EDT) Received: via niftymail; Tue, 15 Sep 1992 20:15:22 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 15 Sep 1992 20:15:21 -0400 (EDT) From: Moonchilde Subject: Patch to fix golem bug. To: crossfire@ifi.uio.no Message-Id: <716602521.18592.0@freehold.andrew.cmu.edu> Status: RO Here is a patch to fix the golem bug. Basically it duplicates some of the code out of hit_map() (or whatever it is called) so that the monster notices the golem hitting it wherever it happens to hit it. --JT ----------------------------------cut here--------------------------------- *** spells.c.old Tue Sep 15 19:37:51 1992 --- spells.c Tue Sep 15 20:05:08 1992 *************** *** 299,304 **** --- 299,305 ---- op->name=add_string("golem"); return op; } + void move_golem(object *op) { object *tmp; if(get_owner(op)==NULL) { *************** *** 325,336 **** if(!move_ob(op,op->direction)) { update_object(op); hit_map(op,op->direction,AT_PHYSICAL); ! tmp=get_map_ob(op->map,op->x+DIRX(op),op->y+DIRY(op)); ! while(tmp!=NULL&& ! (!IS_ALIVE(tmp)||tmp->speed==0||(tmp->stats.wc==0&&tmp->stats.dam==0))) ! tmp=tmp->above; ! if(tmp!=NULL) ! attack_ob(op,tmp); } } --- 326,336 ---- if(!move_ob(op,op->direction)) { update_object(op); hit_map(op,op->direction,AT_PHYSICAL); ! for (tmp = get_map_ob(op->map, op->x+freearr_x[op->direction], ! op->y+freearr_y[op->direction]); ! tmp != NULL; tmp = tmp->above) ! if(IS_ALIVE(tmp)) ! attack_ob(op,tmp); } } ----------------------------------cut here--------------------------------- (I tested this code and it does indeed work) ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Wed Sep 16 01:51:23 1992 Received: by ifi.uio.no id ; Wed, 16 Sep 1992 01:51:11 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 01:51:09 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 15 Sep 92 19:51:03 EDT Received: via switchmail; Tue, 15 Sep 1992 19:51:02 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 15 Sep 1992 19:50:50 -0400 (EDT) Received: via niftymail; Tue, 15 Sep 1992 19:50:48 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 15 Sep 1992 19:50:47 -0400 (EDT) From: Moonchilde Subject: More on Golems. To: crossfire@ifi.uio.no Message-Id: <716601047.18592.0@freehold.andrew.cmu.edu> Status: RO Well, I figured out what the problem is. Unless the Golem hits the head of the creature (the first object in it's link) the creature will never attack it back. This REALLY does make golems mondo. I am going to see if I can handle this. --Moonchilde ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Wed Sep 16 01:32:37 1992 Received: by ifi.uio.no id ; Wed, 16 Sep 1992 01:31:41 +0200 Return-Path: Received: from gyda.ifi.uio.no by ifi.uio.no with SMTP id ; Wed, 16 Sep 1992 01:31:40 +0200 Received: from PO5.ANDREW.CMU.EDU by gyda.ifi.uio.no ; Wed, 16 Sep 1992 01:28:41 +0200 Received: by po5.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Tue, 15 Sep 92 19:27:05 EDT Received: via switchmail; Tue, 15 Sep 1992 19:27:04 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Tue, 15 Sep 1992 19:25:04 -0400 (EDT) Received: via niftymail; Tue, 15 Sep 1992 19:25:01 -0400 (EDT) Sender: "Joseph L. Traub" Date: Tue, 15 Sep 1992 19:25:00 -0400 (EDT) From: Moonchilde Subject: More Xgolems :) To: crossfire@ifi.uio.no Message-Id: <716599500.18361.0@freehold.andrew.cmu.edu> Status: RO Frank, I know you said that golems should be being hit by monsters. However.. I have just had it rather pointedly demonstrated to me that a player can achieve 7th level with the use of about 8 golems and killing 2 dreads. This shouldn't be possible. (this was done from level 1 and in about 15 minutes) Basically what is done is. Go into the area. Cast a golem. Run behind a wall so the monster follows you into a corner. Move the golem behind the monster. Pound at will. A monster will ONLY hit a golem if the golem is standing where the monster wants to go. Since the monster wants to go through the corner to me, my golem gets lets of free poundage on his back and I get LOTS of free exp (25k or so?) This same friend uses this technique to clear the Zoo. (whee... bonus) Also.. When a character is wielding Stormbringer (or Mournblade) it seems to get exp for hitting walls, doors, whathaveyou. Could it PLEASE only get exp for hitting creatures? I'm going to look at the monster combat code (and the exp code tonight) and see if I can put together patches for these two things. Any other thoughts? Oh, a few other things. It's still rather bogus that a character with high con/exp eats faster. You have rings of slow-digestion. Why not make the characters eat at a constant rate +1 extra food each time they heal a spell or hit point. Then make rings of regeneration speed the constant digestion time. (the body is in over-production mode). Along that vein, all the helmets and all the shields are essentially the same aside from wieght.. please fix their armor values or equalize the weight. (or maybe allow the bigger (better) helms to possibly have higher pluses than 1) Same with shields. I might look at those also this evening or tomorrow. -- Moonchilde. ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Tue Sep 15 14:42:57 1992 Received: by ifi.uio.no id ; Tue, 15 Sep 1992 14:42:43 +0200 Return-Path: Received: from kolsaas.ifi.uio.no by ifi.uio.no with SMTP id ; Tue, 15 Sep 1992 14:42:42 +0200 Received: by kolsaas.ifi.uio.no ; Tue, 15 Sep 1992 14:42:41 +0200 Date: Tue, 15 Sep 1992 14:42:41 +0200 From: Edvard L|kketangen To: Frank Tore Johansen Cc: rilba@stna7.stna7.stna.dgac.fr (Rilba Guy STNA 7SP p8087 BG23), crossfire@ifi.uio.no Subject: Re: crossfire 0.86 In-Reply-To: Frank Tore Johansen 's message of Tue, 15 Sep 1992 13:25:18 +0200 References: <199209151125.AAyrsa16200@yrsa.ifi.uio.no> Message-Id: Status: RO Rilba and Frank wrote: > > * What means the Thaco caracteristic ( I don't understand the word ! ) ? > > The lower your Thaco, the greater is your chance to hit a monster. It should be mentioned that the word originally comes from the game Dungeons & Dragons, and is used to denote what you have to roll (on a 20-sided die) to hit a monster with Armour Class Zero. THAC0 = To Hit Armour Class 0 I do not know whether Crossfire uses THAC0 in this way or not. Edvard L. From owner-crossfire Tue Sep 15 04:43:18 1992 Received: by ifi.uio.no id ; Tue, 15 Sep 1992 04:42:44 +0200 Return-Path: Received: from nella9.cc.monash.edu.au by ifi.uio.no with SMTP id ; Tue, 15 Sep 1992 04:42:36 +0200 Received: by nella9.cc.monash.edu.au (5.57/Ultrix3.0-C) id AA09922; Tue, 15 Sep 92 12:42:27 +1000 Message-Id: <9209150242.AA09922@nella9.cc.monash.edu.au> From: Dougal Scott Date: Tue, 15 Sep 1992 12:42:25 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: Key configuration Status: RO There are a few problems that some of my players have been experiencing especially with the key configuration. These were high on the wish list: i) Prefered keys in XResources or .xfirerc ii) Make it so 'C' and cannot be reconfigured. iii) Keep kbd configuration over death. I have only had a brief look at the source, but is the reset_keysyms(p) line in the get_player(player.c) function really necessary? It means that your keyboard configuration is removed after every death. I have removed it and could seen no harm in very minor play testing. 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 Doc Hayward: You're not going anywhere. Cooper: Doc, when the will is invoked, the recuperative powers of the physical body are simply extraordinary. Just give me a couple of hours to get dressed. -- Dr. William Hayward & Agent Dale Cooper, _Twin Peaks_ From owner-crossfire Tue Sep 15 13:25:53 1992 Received: by ifi.uio.no id ; Tue, 15 Sep 1992 13:25:22 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Tue, 15 Sep 1992 13:25:20 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Tue, 15 Sep 1992 13:25:18 +0200 Message-Id: <199209151125.AAyrsa16200@yrsa.ifi.uio.no> Subject: Re: crossfire 0.86 To: rilba@stna7.stna7.stna.dgac.fr (Rilba Guy STNA 7SP p8087 BG23) Date: Tue, 15 Sep 1992 13:25:18 +0200 Cc: crossfire@ifi.uio.no In-Reply-To: <9209150949.AA05197@stna7.stna7.stna.dgac.fr>; from "Rilba Guy STNA 7SP p8087 BG23" at Sep 15, 92 11:49 am X-Mailer: ELM [version 2.3 PL11] Status: RO I added CC: crossfire to this mail in case any of the questions might be of interest to others. rilba@stna7.stna7.stna.dgac.fr wrote: > * I made some new levels with the editor. It seems taht some times, places > that > look empty cannot be entered by a player. They are places where something > temporarily took place during the edition then was removed for some reason > with the right mouse button. I haven't found where the bug occurs yet (the source to the editor stinks, can't hear myself think when trying to debug it...), but I've added a check after maps have been loaded where I try to remove such bugs. > * Could it be possible that mages, wizards, priests, clerics have a greater > range of accessible spells than warriors ? That they gain spells as their > level increase ? that their spells become more powerful as they gain level ? > That each class of character access to distinctive spells ? In 0.87 players will need spellbooks to learn spells. And their chance of succeeding in learning a spell will depend on wisdom (just had to use that stat for something). > * Could it be possible to develop some sort of weapon performance for each > class of character : for example, a barbarian is very good in using mace and > bow. But he must learn using sword (which is done when he USES the weapon) Wait until you see the new weaon-speed system in 0.87. There are lots of new weapons, and all types has their pros and cons, depending on things like dexterity, strength, speed, level, weight of weapon, weaponspeed. Thus we will now see weak mages prefering daggers or quarterstaffs or light swords (shortswords, etc). > * Is it possible to edit the archetype file to modify or add sth ? Indeed! But currently it has to be done by hand, not easy unless you know what all variables in it means. > * What means the Thaco caracteristic ( I don't understand the word ! ) ? The lower your Thaco, the greater is your chance to hit a monster. > * How can someone know what a magic item (especially a ring) is ? I haven't added identify to the game yet, but it will be added sometime in the future. Right now everyone can find out what a thing does. To find out what a ring is, just try to apply it and see what new abilities you get, or what stats change. In 0.87 there is a new command: examine. It's just like apply, except it uses the 'e' key and the left mouse button. > * How can someone give ONE food to another player when he has plenty ? (Same > thing for scrolls, amulets, coins, ...) For all combined items type 2d to drop two of that item. There is a bug (which has been fixed in 0.87) making this only work for the topmost item. So scroll the items in question to the top of the inventory with < or > before typin d to drop x items. -Frank. From owner-crossfire Mon Sep 14 15:02:43 1992 Received: by ifi.uio.no id ; Mon, 14 Sep 1992 15:01:44 +0200 Return-Path: Received: from ondur.ifi.uio.no by ifi.uio.no with SMTP id ; Mon, 14 Sep 1992 15:01:42 +0200 From: Frank Tore Johansen Received: by ondur.ifi.uio.no ; Mon, 14 Sep 1992 15:01:41 +0200 Message-Id: <199209141301.AAondur.ifi.uio.no15462@ondur.ifi.uio.no> Subject: Re: Saving space in lib.... To: crossfire@ifi.uio.no Date: Mon, 14 Sep 1992 15:01:39 +0200 In-Reply-To: <9209130522.AA13061@latcs5.lat.oz.au>; from "beilby@latcs1.lat.oz.au" at Sep 13, 92 3:22 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Would it be possible to set up crossfire so that it can read > compressed map and archtype files? This would be a great space saver as > at the moment the lib directory takes up a massive 3megs, while when > compressed it only take 1.3megs. I know that this would slow down entry > to a room for the first time but the space saving would make it worthwile, > and for those with more disk space than processor, there could be a compile > time option to have the libs uncompressed. It will be among the features in the next version. Crossfire will automatically search for .Z files if failes to open any file. The next version will probably be finished in a couple of days. -Frank. From owner-crossfire Sun Sep 13 07:22:38 1992 Received: by ifi.uio.no id ; Sun, 13 Sep 1992 07:22:26 +0200 Return-Path: Received: from latcs1.lat.OZ.AU by ifi.uio.no with SMTP id ; Sun, 13 Sep 1992 07:22:21 +0200 Received: from latcs5.lat.OZ.AU by latcs1.lat.oz.au (5.65+/1.34) id AA27064; Sun, 13 Sep 92 15:22:50 +1000 From: beilby@latcs1.lat.oz.au Message-Id: <9209130522.AA13061@latcs5.lat.oz.au> Subject: Saving space in lib.... To: crossfire@ifi.uio.no Date: Sun, 13 Sep 92 15:22:59 EST X-Mailer: ELM [version 2.4dev PL52] Status: RO Would it be possible to set up crossfire so that it can read compressed map and archtype files? This would be a great space saver as at the moment the lib directory takes up a massive 3megs, while when compressed it only take 1.3megs. I know that this would slow down entry to a room for the first time but the space saving would make it worthwile, and for those with more disk space than processor, there could be a compile time option to have the libs uncompressed. / / / / __ )--/+-+-+-+--- ' \ (8| Scorpius>\___/ )--\+-+-+-+--- \ \ \ \ beilby@latcs1.lat.oz.au From owner-crossfire Sat Sep 12 22:10:11 1992 Received: by ifi.uio.no id ; Sat, 12 Sep 1992 22:09:25 +0200 Return-Path: Received: from soc15.acpub.duke.edu by ifi.uio.no with SMTP id ; Sat, 12 Sep 1992 22:09:22 +0200 Received: by soc15.acpub.duke.edu (5.65/Ultrix3.0-C) id AA06812; Sat, 12 Sep 92 16:09:19 -0400 Message-Id: <9209122009.AA06812@soc15.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: NEW SAVECODE Date: Sat, 12 Sep 92 16:09:17 EDT From: mel1@acpub.duke.edu (Douglas Melamed) Status: RO I've written new savecode that works, and works well. It has none of the bugs of the old code. Also I add a couple of new things. If you die in the SAVE_PLAYER version you are miraculously ressurected to the begining of the maplevel 1, the penalty for dying is that your equipment doesn't go with you. It is completely destroyed, also there is a high probability that you will lose a point of constituion. Let me know what you guys think. Shall I mail the diffs to this group, or? Let me know. ----------------------------------------------------------------------------- Douglas Melamed mel1@acpub.duke.edu Codehack extraodinaire :) NOT! Anyway bye for now. From owner-crossfire Fri Sep 11 18:56:04 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 18:55:41 +0200 Return-Path: Received: from holmenkollen.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 18:55:29 +0200 From: Kjetil Torgrim Homme Received: by holmenkollen.ifi.uio.no ; Fri, 11 Sep 1992 18:55:29 +0200 Date: Fri, 11 Sep 1992 18:55:29 +0200 Message-Id: <199209111655.AAholmenkollen.ifi.uio.no13246@holmenkollen.ifi.uio.no> To: andreabr@ifi.uio.no, crossfire@ifi.uio.no, jtraub+@cmu.edu Subject: Re: Foodconsumption Status: RO The deal is: When you wear a ring of hp-regeneration, you will eat more food all the time, since you would generate faster. Thus, you need to wear/unwear the ring to get optimum performance (use it only when engaging in heavy combat). Of course, food consumption could be increased while wearing such a ring with some code, but the drawbacks wouldn't follow from the rules anymore. Kjetil T. From owner-crossfire Fri Sep 11 18:28:52 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 18:28:19 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 18:28:05 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for andreabr@ifi.uio.no; Fri, 11 Sep 92 12:27:53 EDT Received: via switchmail; Fri, 11 Sep 1992 12:27:51 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Fri, 11 Sep 1992 12:27:09 -0400 (EDT) Received: via niftymail; Fri, 11 Sep 1992 12:26:58 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 11 Sep 1992 12:26:57 -0400 (EDT) From: Moonchilde Subject: Re: Foodconsumption To: andreabr@ifi.uio.no, crossfire@ifi.uio.no In-Reply-To: <199209111555.AAholmenkollen.ifi.uio.no10963@holmenkollen.ifi.uio.no> References: <199209111555.AAholmenkollen.ifi.uio.no10963@holmenkollen.ifi.uio.no> Message-Id: <716228817.12706.0@freehold.andrew.cmu.edu> Status: RO Yes it would. My algorithm said. Standard rate for all healthy beings. +1 every time a hit or spell point is regenned. Thus, a ring of HP regen since it increases healing rate, increases food consumption WHILE you are healing. BUT only then. This seems as I said before intuitive. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Fri Sep 11 17:56:07 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 17:55:46 +0200 Return-Path: Received: from holmenkollen.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 17:55:45 +0200 From: Kjetil Torgrim Homme Received: by holmenkollen.ifi.uio.no ; Fri, 11 Sep 1992 17:55:44 +0200 Date: Fri, 11 Sep 1992 17:55:44 +0200 Message-Id: <199209111555.AAholmenkollen.ifi.uio.no10963@holmenkollen.ifi.uio.no> To: andreabr@ifi.uio.no, crossfire@ifi.uio.no Subject: Re: Foodconsumption Status: RO >>Rather than what you do now, how about a constant rate of food consumption >>for all healthy beings. >Yes Yes Yes No No No This would mean that the ring of hp-regeneration would have no drawbacks. Kjetil T. From owner-crossfire Fri Sep 11 17:31:37 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 17:31:00 +0200 Return-Path: Received: from holmenkollen.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 17:30:58 +0200 Received: by holmenkollen.ifi.uio.no ; Fri, 11 Sep 1992 17:30:57 +0200 Date: Fri, 11 Sep 1992 17:30:57 +0200 From: Andreas Bringedal To: crossfire Subject: Foodconsumption Message-Id: Status: RO >Rather than what you do now, how about a constant rate of food consumption >for all healthy beings. Yes Yes Yes Andreas From owner-crossfire Fri Sep 11 16:15:14 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 16:14:43 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 16:14:39 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 11 Sep 92 10:14:26 EDT Received: via switchmail; Fri, 11 Sep 1992 10:14:21 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Fri, 11 Sep 1992 10:13:55 -0400 (EDT) Received: via niftymail; Fri, 11 Sep 1992 10:13:52 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 11 Sep 1992 10:13:52 -0400 (EDT) From: Moonchilde Subject: Re: MOre suggestions from players here To: crossfire@ifi.uio.no In-Reply-To: <199209110751.AAyrsa28143@yrsa.ifi.uio.no> References: <199209110751.AAyrsa28143@yrsa.ifi.uio.no> Message-Id: <716220832.12390.0@freehold.andrew.cmu.edu> Status: RO Hmmm... May I suggest an alternate for food. Rather than what you do now, how about a constant rate of food consumption for all healthy beings. Then a wounded being eats one more food for every hitpoint healed or spell point regenned (to account for regaining energy expended) Then you could have a ring of slow-digestion which slowed down the interval at which the normal food was eaten, etc. This seems intuitively to make more sense to me. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Fri Sep 11 09:51:28 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 09:51:05 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 09:51:04 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Fri, 11 Sep 1992 09:51:03 +0200 Message-Id: <199209110751.AAyrsa28143@yrsa.ifi.uio.no> Subject: Re: MOre suggestions from players here To: crossfire@ifi.uio.no Date: Fri, 11 Sep 1992 09:51:02 +0200 In-Reply-To: <716184245.10938.0@freehold.andrew.cmu.edu>; from "Moonchilde" at Sep 11, 92 12:04 am X-Mailer: ELM [version 2.3 PL11] Status: RO > It seems that players eat more as they get up to higher levels. > This doesn't intuitively make sense to any of the playtesters here so > I figured I would find out the rational behind it. Actually the level doesn't have anything to do with it. How fast a player regenerates hitpoints depends on his max-hp. Each time a player *could* have generated a hit-point, one food is consumed. In addition, each time a player *does* generate a hit-point, another food is consumed. For spell-points, food is only consumed when the player does generate one point. All this is modified by things like ring of regeneration and ring of slow digestion. Spellpoint regeneration is modified by how heavy armour the player wears (and ring of regenerate spellpoints). The problem with this method is that compared with real life, it is very unlikely that a tenth level player should have ten times the max-hp of a first level. Thus it should probably be fixed somehow. Food consumption should still be dependent on max-hp though. By the way, we have reworked the weapon-speed routines (so that they *work*). It is now unlikely to encounter a weak mage wielding much more than a dagger or a quarterstaff... The formula incorporates things like weapon-weight, weapon-speed, strength, dex, etc. -Frank. From owner-crossfire Fri Sep 11 06:05:58 1992 Received: by ifi.uio.no id ; Fri, 11 Sep 1992 06:05:31 +0200 Return-Path: Received: from PO3.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 11 Sep 1992 06:05:29 +0200 Received: by po3.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 11 Sep 92 00:05:25 EDT Received: via switchmail; Fri, 11 Sep 1992 00:05:24 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Fri, 11 Sep 1992 00:04:19 -0400 (EDT) Received: via niftymail; Fri, 11 Sep 1992 00:04:06 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 11 Sep 1992 00:04:05 -0400 (EDT) From: Moonchilde Subject: MOre suggestions from players here To: crossfire@ifi.uio.no Message-Id: <716184245.10938.0@freehold.andrew.cmu.edu> Status: RO Actually, not quite a suggestion, more a request for clarification. It seems that players eat more as they get up to higher levels. This doesn't intuitively make sense to any of the playtesters here so I figured I would find out the rational behind it. --Moonchilde ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Thu Sep 10 22:49:20 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 22:49:08 +0200 Return-Path: Received: from soc10.acpub.duke.edu by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 22:49:07 +0200 Received: by soc10.acpub.duke.edu (5.65/Ultrix3.0-C) id AA28988; Thu, 10 Sep 92 16:49:04 -0400 Message-Id: <9209102049.AA28988@soc10.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: Date: Thu, 10 Sep 92 16:49:00 EDT From: mel1@acpub.duke.edu (Douglas Melamed) Status: RO ------- Forwarded Message Return-Path: frankj@ifi.uio.no Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 22:40:57 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Thu, 10 Sep 1992 22:40:56 +0200 Message-Id: <199209102040.AAyrsa11646@yrsa.ifi.uio.no> Subject: Re: BUG Found To: mel1 (Douglas Melamed) Date: Thu, 10 Sep 1992 22:40:55 +0200 In-Reply-To: <9209101953.AA28756@soc10.acpub.duke.edu>; from "Douglas Melamed" at Sep 10, 92 3:53 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Also I'm rewriting the save code, and whenever I load a character and > try to insert their inventory back into them the fix_player function > called from insert_ob_in_ob changes there hp.max and sp.max, I can't figure > out why this should happen. Again the operative word is HELP! besides those > two problems I've got working save code, So if you have any suggestions or > fixes please let me know. The problem is in the player structure. If you're not fainhearted, have a look in the global.h file below the object structure. Yes, it's messy. Some of those variables has to be saved along with the object. The lev_hp and lev_sp arrays are among them. - -Frank. ------- End of Forwarded Message From owner-crossfire Thu Sep 10 22:21:26 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 22:21:18 +0200 Return-Path: Received: from soc10.acpub.duke.edu by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 22:21:16 +0200 Received: by soc10.acpub.duke.edu (5.65/Ultrix3.0-C) id AA28808; Thu, 10 Sep 92 16:21:12 -0400 Date: Thu, 10 Sep 92 16:21:12 -0400 From: mel1@acpub.duke.edu (Douglas Melamed) Message-Id: <9209102021.AA28808@soc10.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: Bug Update Status: RO I fixed the bug with the '>' inventory thing. basically I moved the fix_player call in insert_ob_in_ob function to the end just before the draw_inventory command. This seems to fix the problem. I think fix_player was being called before the object was actually inserted into the inventory, so the players stats appeared as if that object had not been applied. BUT I STILL NEED HELP. I can't figure out why the max.hp and max.sp get altered after I load in new values from a file??? I think fix_player is responsible, If Someone can help me pin this down, I'll post a new SAVE_PLAYER code that works! From owner-crossfire Thu Sep 10 21:54:48 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 21:53:33 +0200 Return-Path: Received: from soc10.acpub.duke.edu by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 21:53:31 +0200 Received: by soc10.acpub.duke.edu (5.65/Ultrix3.0-C) id AA28756; Thu, 10 Sep 92 15:53:28 -0400 Date: Thu, 10 Sep 92 15:53:28 -0400 From: mel1@acpub.duke.edu (Douglas Melamed) Message-Id: <9209101953.AA28756@soc10.acpub.duke.edu> To: crossfire@ifi.uio.no Subject: BUG Found Status: RO Whenver you scroll back through your inventory with '>' what ever is on top is viewed as far as stats are concerned as unapplied even when it is applied, this only occurs if you scroll back with '>' has anyone else had this problem? Have they been able to fix it? In otherwords HELP! Also I'm rewriting the save code, and whenever I load a character and try to insert their inventory back into them the fix_player function called from insert_ob_in_ob changes there hp.max and sp.max, I can't figure out why this should happen. Again the operative word is HELP! besides those two problems I've got working save code, So if you have any suggestions or fixes please let me know. _____________________________________________________________________ Douglas Melamed a.k.a Muckraker, T'anglere Duke University EMAIL: mel1@acpub.duke.edu From owner-crossfire Thu Sep 10 17:30:07 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 17:27:30 +0200 Return-Path: Received: from veotind.ifi.uio.no by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 17:27:28 +0200 From: Frank Tore Johansen Received: by veotind.ifi.uio.no ; Thu, 10 Sep 1992 17:27:25 +0200 Message-Id: <9209101527.AAveotind.ifi.uio.no07433@veotind.ifi.uio.no> Subject: Re: Crossfire nee XGolem To: crossfire@ifi.uio.no Date: Thu, 10 Sep 1992 17:27:22 +0200 In-Reply-To: <199209101511.AA17705@orion.cs.purdue.edu>; from "dgc@cs.purdue.edu" at Sep 10, 92 10:11 am Status: RO First, let me say that I have, as usual, forgotten the CC: crossfire when answering mail lately... bear with me 8) > > Basically, the tactic is to put a wall between you and the mondo monster > > from hell. Then create a golem and send it around behind the monster. > > You get the exp for the golems kill. the monster ignores the golem. > > Burning hands cannot be used to the exclusion of other tactics or you > will never acquire any treasure. Therefore it imposes its own limit. > It's a nice area of effect spell that I am glad is available, but the > lust for new treasure is too great (and the acquisition of spell > points too low) to use it often. Since soon only mages/priests (or is > it just those with high INT/WIS?) will be able to cast spells, I > cannot see weakening its power. Currently only INT makes a difference, but priests tend to have good intelligence as well as wisdom. Wisdom and spellbooks will be put to use in the next version, so things should be fairly balanced.. I'll try to make it possible for monsters (at least the smart ones) to dig through player-made earthwalls. > There are certain maps that would be very difficult/impossible to > clear without golems. They are almost a necessity against Grim > Reapers, since they (Grim Reapers) are immune to other forms of magic. > Golems can't be used to the exclusion of other tactics since you would > eventually run out of food (since they are slow). As to whether > golems are attacked, I think they already are. Take them up against a > scorpion once and see how fast they dissolve. GrimReapers are immune to physical damage, thus golems can't hurt them either. Only all *other* types of spells can hurt the much feared Mr. Reaper. Due to a wierd bug it was still possible to "kill" them with the golems in previous versions, but it should have been fixed in version 0.86. Golems are attacked, but unfortunately only by the monster they attack, not it's neighbours. I'll eventually make a more general method for keeping track of peaceful/neutral/hostile monsters. Newsflash: Vidar just finished his latest monster, the Titan. It consist of 72x72 pixels and carries a special artefact (huge hammer). -Frank. From owner-crossfire Thu Sep 10 17:14:12 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 17:11:45 +0200 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 17:11:40 +0200 Received: from orion.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Thu, 10 Sep 1992 10:11:27 -0500 Received: from localhost by orion.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Thu, 10 Sep 1992 10:11:26 -0500 Message-Id: <199209101511.AA17705@orion.cs.purdue.edu> To: Moonchilde Cc: crossfire@ifi.uio.no Subject: Re: Crossfire nee XGolem In-Reply-To: Your message of Wed, 09 Sep 92 19:44:06 -0400. <716082246.14578.0@circe.weh.andrew.cmu.edu> Date: Thu, 10 Sep 92 10:11:25 EST From: dgc@cs.purdue.edu Status: RO > A small problem has cropped up here on the campus dealing with golems. > > Basically, the tactic is to put a wall between you and the mondo monster > from hell. Then create a golem and send it around behind the monster. > You get the exp for the golems kill. the monster ignores the golem. > You Win. > > The obvious solution is to have monsters attack golems that are standing next > to them. If I get around to implementing this I'll send the patch. > > --JT Moonchilde has made some interesting comments in the past week, but our players here are of a different opinion on two points: the power of burning hands and the power of golems. Burning hands cannot be used to the exclusion of other tactics or you will never acquire any treasure. Therefore it imposes its own limit. It's a nice area of effect spell that I am glad is available, but the lust for new treasure is too great (and the acquisition of spell points too low) to use it often. Since soon only mages/priests (or is it just those with high INT/WIS?) will be able to cast spells, I cannot see weakening its power. There are certain maps that would be very difficult/impossible to clear without golems. They are almost a necessity against Grim Reapers, since they (Grim Reapers) are immune to other forms of magic. Golems can't be used to the exclusion of other tactics since you would eventually run out of food (since they are slow). As to whether golems are attacked, I think they already are. Take them up against a scorpion once and see how fast they dissolve. Doug Crabill Rich Bingle Byron Burke From owner-crossfire Thu Sep 10 02:05:28 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 02:04:19 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 02:04:17 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Wed, 9 Sep 92 20:04:13 EDT Received: via switchmail; Wed, 9 Sep 1992 20:04:12 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Wed, 9 Sep 1992 20:04:10 -0400 (EDT) Received: via niftymail; Wed, 9 Sep 1992 20:03:58 -0400 (EDT) Sender: "Joseph L. Traub" Date: Wed, 9 Sep 1992 20:03:56 -0400 (EDT) From: Moonchilde Subject: More bug reports. To: crossfire@ifi.uio.no Message-Id: <716083436.14586.0@circe.weh.andrew.cmu.edu> Status: RO The stars (left by a paralysis bolt) can be picked up. Where can this be fixed, since I don't know. Also, Are there shields better than +1 or helms better than +2? None of the players around here have found any. BTW: tell me if you want me to stop sending the minor things as I find them. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Thu Sep 10 01:46:15 1992 Received: by ifi.uio.no id ; Thu, 10 Sep 1992 01:44:49 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Thu, 10 Sep 1992 01:44:47 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Wed, 9 Sep 92 19:44:43 EDT Received: via switchmail; Wed, 9 Sep 1992 19:44:41 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Wed, 9 Sep 1992 19:44:32 -0400 (EDT) Received: via niftymail; Wed, 9 Sep 1992 19:44:14 -0400 (EDT) Sender: "Joseph L. Traub" Date: Wed, 9 Sep 1992 19:44:06 -0400 (EDT) From: Moonchilde Subject: Crossfire nee XGolem To: crossfire@ifi.uio.no Message-Id: <716082246.14578.0@circe.weh.andrew.cmu.edu> Status: RO A small problem has cropped up here on the campus dealing with golems. Basically, the tactic is to put a wall between you and the mondo monster from hell. Then create a golem and send it around behind the monster. You get the exp for the golems kill. the monster ignores the golem. You Win. The obvious solution is to have monsters attack golems that are standing next to them. If I get around to implementing this I'll send the patch. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Wed Sep 9 23:30:20 1992 Received: by ifi.uio.no id ; Wed, 9 Sep 1992 23:29:00 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 9 Sep 1992 23:28:58 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Wed, 9 Sep 92 17:28:37 EDT Received: via switchmail; Wed, 9 Sep 1992 17:28:32 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Wed, 9 Sep 1992 17:28:00 -0400 (EDT) Received: via niftymail; Wed, 9 Sep 1992 17:27:46 -0400 (EDT) Sender: "Joseph L. Traub" Date: Wed, 9 Sep 1992 17:27:45 -0400 (EDT) From: Moonchilde Subject: Bug with weaponspeed patch To: crossfire@ifi.uio.no Message-Id: <716074065.7099.0@freehold.andrew.cmu.edu> Status: RO Here is the patch for truncating weapon speed at zero. Before, a dagger + 4 would try to give a player a weaponspeed of -1 but since weaponspeed was an unsigned char, it wrapped and gave them a speed of 255. I don't see any real reason for weapon speeds FASTER than bare hands, so, here is the patch. ---JT -------------------- cut here----------------------------- *** living.c.old Wed Sep 9 17:07:23 1992 --- living.c Wed Sep 9 17:17:22 1992 *************** *** 69,75 **** return 1; if(tmp->type==WEAPON) if(flag==1) ! op->contr->weapon_sp=(unsigned char)WEAPON_SPEED(tmp)-tmp->magic; else op->contr->weapon_sp=0; if(tmp->stats.hp) { --- 69,78 ---- return 1; if(tmp->type==WEAPON) if(flag==1) ! if(((int)WEAPON_SPEED(tmp) - (int)tmp->magic) > 0) ! op->contr->weapon_sp=(unsigned char)WEAPON_SPEED(tmp)-tmp->magic; ! else ! op->contr->weapon_sp = 0; else op->contr->weapon_sp=0; if(tmp->stats.hp) { ------------------- cut here ----------------------------- ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Wed Sep 9 18:23:51 1992 Received: by ifi.uio.no id ; Wed, 9 Sep 1992 18:23:02 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Wed, 9 Sep 1992 18:22:58 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Wed, 9 Sep 92 12:22:53 EDT Received: via switchmail; Wed, 9 Sep 1992 12:22:53 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Wed, 9 Sep 1992 12:21:08 -0400 (EDT) Received: via niftymail; Wed, 9 Sep 1992 12:21:03 -0400 (EDT) Sender: "Joseph L. Traub" Date: Wed, 9 Sep 1992 12:21:02 -0400 (EDT) From: Moonchilde Subject: Fwd: Bug in Crossfire To: crossfire@ifi.uio.no References: <716000097.2151.0@aldebaran.weh.andrew.cmu.edu> Message-Id: <716055662.6721.0@freehold.andrew.cmu.edu> Status: RO This was sent to me by one of the players here. I'm looking into the problem. I've also noticed that thaco can go highly negative.. is there some minimal cap on how low it can go? ----------- ---------- Forwarded message begins here ---------- Return-path: X-Andrew-Authenticated-as: 15522;andrew.cmu.edu;William A. Nagy Received: from aldebaran.weh.andrew.cmu.edu via trymail for jtraub+@CMU.EDU ID ; Tue, 8 Sep 1992 20:55:26 -0400 (EDT) Received: via niftymail; Tue, 8 Sep 1992 20:54:59 -0400 (EDT) Date: Tue, 8 Sep 1992 20:54:57 -0400 (EDT) From: "William A. Nagy" Subject: Bug in Crossfire To: "Joseph L. Traub" Message-ID: <716000097.2151.0@aldebaran.weh.andrew.cmu.edu> There is a bug in Crossfire that allows weapon speed to wrap around into the negative numbers, effectively rendering the weapon useless. One example of this occuring is when you use a dagger +4. -Bill ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Tue Sep 8 06:14:00 1992 Received: by ifi.uio.no id ; Tue, 8 Sep 1992 05:26:29 +0200 Return-Path: Received: from latcs1.lat.OZ.AU by ifi.uio.no with SMTP id ; Tue, 8 Sep 1992 05:25:37 +0200 Received: from latcs4.lat.OZ.AU by latcs1.lat.oz.au (5.65+/1.34) id AA15023; Tue, 8 Sep 92 13:22:51 +1000 From: beilby@latcs1.lat.oz.au Message-Id: <9209080322.AA10953@latcs4.lat.oz.au> Subject: Crossfire: Printing maps... To: crossfire@ifi.uio.no Date: Tue, 8 Sep 92 13:22:53 EST X-Mailer: ELM [version 2.4dev PL52] Status: RO Does anybody know of a way to print out the maps produced by crossfire? I've managed it in a very roundabout way, by doing a screendump of the editor, and then useing xv to crop the map section out and then convert to postscript. But I can only get approx 28 * 30 characters to a page using this method. (Thats the biggest map window I can get the editor to produce on my display.) I've also tried to find a way to convert the bdf font into something that a laser printer can handle, but the only program I've been able to track down so far is bdftops, which can't handle 16 bit fonts :-(. And even if it could, I don't know haw to get the info from the two map files, into the ps file to print the map. So does anybody have in hints, tips, complete solutions to my problem? BTW: Could somebody tell me what the format of the two map files are? I think I've figured out the .oo files, but the .om files don't make much sence to me. Thanks in advance, / / / / __ )--/+-+-+-+--- ' \ (8| Scorpius>\___/ )--\+-+-+-+--- \ \ \ \ beilby@latcs1.lat.oz.au From owner-crossfire Sun Sep 6 18:44:07 1992 Received: by ifi.uio.no id ; Sun, 6 Sep 1992 18:43:48 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Sun, 6 Sep 1992 18:43:47 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Sun, 6 Sep 1992 18:43:46 +0200 Message-Id: <199209061643.AAyrsa.ifi.uio.no06667@yrsa.ifi.uio.no> Subject: Re: Bug in save game code? (crossfire 0.86) To: crossfire@ifi.uio.no Date: Sun, 6 Sep 1992 18:43:46 +0200 In-Reply-To: <9209060139.AA04409@latcs4.lat.oz.au>; from "beilby@latcs1.lat.oz.au" at Sep 6, 92 11:39 am X-Mailer: ELM [version 2.3 PL11] Status: RO > When the game is started without the players name set via Xresources > crossfire asks for the players name, and then the players password and when > it gets the players password it replies with "Sorry Pal, I don't think so.". > Which is of course the reply if you get the password for dm mode wrong. That is because I messed up Tylor's save-game routines when I tried to fix it 8) There are several other bugs as well. For instance, you can be killed *before* you enter the name if you answer 'a' to the question "do you want to play again (a/q)?". You'll have to wait to next version or later to get a working save-game routine, it's still being worked on/debugged. -Frank. From owner-crossfire Sun Sep 6 03:37:20 1992 Received: by ifi.uio.no id ; Sun, 6 Sep 1992 03:36:37 +0200 Return-Path: Received: from latcs1.lat.OZ.AU by ifi.uio.no with SMTP id ; Sun, 6 Sep 1992 03:36:32 +0200 Received: from latcs4.lat.OZ.AU by latcs1.lat.oz.au (5.65+/1.34) id AA22831; Sun, 6 Sep 92 11:39:44 +1000 From: beilby@latcs1.lat.oz.au Message-Id: <9209060139.AA04409@latcs4.lat.oz.au> Subject: Bug in save game code? (crossfire 0.86) To: crossfire@ifi.uio.no Date: Sun, 6 Sep 92 11:39:52 EST X-Mailer: ELM [version 2.4dev PL52] Status: RO I've compiled crossfire 0.86 on a Sun 4, with gcc, and I'm having some problems with the save game code (I think).... When the game is started without the players name set via Xresources crossfire asks for the players name, and then the players password and when it gets the players password it replies with "Sorry Pal, I don't think so.". Which is of course the reply if you get the password for dm mode wrong. The player is then dumped into the game as a human, with a blank for a name (ie Player: the human), without being able to re-roll, or choose class. Then when the player quits it wont save the game, and says that their name is not valid. If the players name is set in Xresources, crossfire starts up asking for a password, but expecting the y,n or q options for re-rolling the character. After rolling the char and selecting the class of the character, it then expects the player to type in a password, but does not give any prompt, so nothing happens in the window until the player hits return, at which time he gets "Sorry Pal, I don't think so." (unless he typed the dmn password that is, in which case he gets the you are the dm message.) And even though crossfire seems to have accepted the name from the resources, it still complains about the name not being valid when the player quits. Thanks in advance for any help you can provide. / / / / __ )--/+-+-+-+--- ' \ (8| Scorpius>\___/ )--\+-+-+-+--- \ \ \ \ beilby@latcs1.lat.oz.au From owner-crossfire Sat Sep 5 16:17:53 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 16:17:39 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 16:17:38 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Sat, 5 Sep 1992 16:17:37 +0200 Message-Id: <199209051417.AAyrsa.ifi.uio.no23327@yrsa.ifi.uio.no> Subject: Re: More crossfire stuff :) To: crossfire@ifi.uio.no Date: Sat, 5 Sep 1992 16:17:37 +0200 In-Reply-To: <199209050302.AAyrsa.ifi.uio.no00775@yrsa.ifi.uio.no>; from "Frank Tore Johansen" at Sep 5, 92 5:02 am X-Mailer: ELM [version 2.3 PL11] Status: RO > Anyway, large morningstars have a weapon speed of 15 which gives the player > an effective speed of 2-15/2=0.5 when fighting in melee. Maybe I should > increase it even more though. This should of course be 2-15/10=0.5. Rest assured that you will notice the difference when you become more experienced in playing, especially if you get used to typing numbers before walking in a direction instead of trusting keyrepeat. -Frank. From owner-crossfire Sat Sep 5 05:19:20 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 05:19:12 +0200 Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 05:19:10 +0200 Received: by yrsa.ifi.uio.no ; Sat, 5 Sep 1992 05:19:10 +0200 Return-Path: Received: from PO3.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 05:15:57 +0200 Received: by po3.andrew.cmu.edu (5.54/3.15) id for frankj@ifi.uio.no; Fri, 4 Sep 92 23:15:53 EDT Received: via switchmail; Fri, 4 Sep 1992 23:15:51 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Fri, 4 Sep 1992 23:14:44 -0400 (EDT) Received: via niftymail; Fri, 4 Sep 1992 23:14:36 -0400 (EDT) Sender: frankj Date: Fri, 4 Sep 1992 23:14:34 -0400 (EDT) From: Moonchilde Subject: Re: More crossfire stuff :) To: Frank Tore Johansen In-Reply-To: <199209050255.AAyrsa.ifi.uio.no00697@yrsa.ifi.uio.no> References: <199209050255.AAyrsa.ifi.uio.no00697@yrsa.ifi.uio.no> Message-Id: <715662874.7014.0@circe.weh.andrew.cmu.edu> Status: RO Hmmmm.. Well, I will say that I have NEVER noticed the affect of weapon speed at all. So, I don't know that making it bigger will be all that useful. If burning hands only has a length of five, then I must still maintain that it is way to powerful. on low levels it seems really easy to clear entire rooms for a fairly cheap (5 pt) spell. Maybe make it cost more? or limit the length to 2 or 3? As for the strength parameter, I kinda like it.. It implies the amount of energy a spell caster is willing to invest in a spell. Now, agreed, there should be a minimum level of energy needed to make a spell fire, but if a mage wants to spend more spell points (say in a last ditch effort to clear that room) then they should be able to. Maybe make the ability to increase spell strength a ring or potion or book given ability (ie something they have to learn) (learned through a book would be permanent?) Just some ideas I'm tossing around. Also, I'm starting to design some levels. The editor (no offense) really sucks.. I'll see if I can come up with some ideas for how to improve it and code it up. I really like what's been done with the game, and enjoy playing it. I might also (if time permits) be able to help with a TCP/IP server/client implementation given the experience I have coding mud servers. The problem I see with both the character save method and the server client method means that one area (disk space) ends up getting very very cluttered with player data. Also, until the world 'regenerates', saving players is a bad idea. The go in, get the good stuff, save out, wait for the game to be 'rebooted', go in, get lots of exp, get better stuff, save, etc.. etc.. pretty soon you end up with EVERY having ALL the good stuff and the game loses it's challenge. Now, there are a couple of ways around this, a rent system being one, and combinee that with some auto regeneration/resets of areas, you might be alright as long as there is a global limit on cash and item flow. Hrmm. there was something else I wanted to bring up, but I cannot remember it right now. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sat Sep 5 05:07:17 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 05:07:05 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 05:07:03 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Sat, 5 Sep 1992 05:07:02 +0200 Message-Id: <199209050307.AAyrsa.ifi.uio.no00829@yrsa.ifi.uio.no> Subject: Re: More comments on cone spells (icestorm, paralyze, To: crossfire@ifi.uio.no Date: Sat, 5 Sep 1992 05:07:02 +0200 In-Reply-To: <715658576.6970.0@circe.weh.andrew.cmu.edu>; from "Moonchilde" at Sep 4, 92 10:02 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > After running through the debugger I realize that the spells aren't really > that overpowerful except in one respect. > If you set them loose in a corridor they will travel the ENTIRE length of the > corridor, damaging everything in it's way with a 4 damage fire * the length > of the corridor. (or at least that's what it seems). > > There really should be some limit to the distance that a burning hands can > travel (apply this to the other cone spells as well). Perhaps the strength > parameter could apply to the distance it travels? The distance is currently 5 which is exactly the same as how far a player can see. If you run in the same direction you're casting the spell, you can see that it stops (not recommended). Also, soon it will become hard to discover the different spells (spellbooks), and only those with high int (or high wis) will be able to learn the spells. Not to mention the severe drawback that those who use spells to clear rooms usually destroys half of the treasure they could otherwise have grabbed. The saving throws of items is modified to be reasonable even when the different spells keeps giving damage four or more times to the same square. -Frank. From owner-crossfire Sat Sep 5 05:02:42 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 05:02:24 +0200 Return-Path: Received: from yrsa.ifi.uio.no by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 05:02:22 +0200 From: Frank Tore Johansen Received: by yrsa.ifi.uio.no ; Sat, 5 Sep 1992 05:02:21 +0200 Message-Id: <199209050302.AAyrsa.ifi.uio.no00775@yrsa.ifi.uio.no> Subject: Re: More crossfire stuff :) To: crossfire@ifi.uio.no Date: Sat, 5 Sep 1992 05:02:21 +0200 In-Reply-To: <715650246.6886.0@circe.weh.andrew.cmu.edu>; from "Moonchilde" at Sep 4, 92 7:44 pm X-Mailer: ELM [version 2.3 PL11] Status: RO > Also.. You made sword+4's hard to find.. however a large morningstar with a +1 > and a decent strength does about the same amount of nasty damage. > > Please consider making morningstars a much less common weapon. Seems I forgot cc: crossfire once more...sigh. Anyway, large morningstars have a weapon speed of 15 which gives the player an effective speed of 2-15/2=0.5 when fighting in melee. Maybe I should increase it even more though. -Frank. From owner-crossfire Sat Sep 5 04:04:09 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 04:03:55 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 04:03:53 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 4 Sep 92 22:03:47 EDT Received: via switchmail; Fri, 4 Sep 1992 22:03:46 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Fri, 4 Sep 1992 22:03:16 -0400 (EDT) Received: via niftymail; Fri, 4 Sep 1992 22:02:59 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 4 Sep 1992 22:02:56 -0400 (EDT) From: Moonchilde Subject: More comments on cone spells (icestorm, paralyze, burning hands) To: crossfire@ifi.uio.no Message-Id: <715658576.6970.0@circe.weh.andrew.cmu.edu> Status: RO After running through the debugger I realize that the spells aren't really that overpowerful except in one respect. If you set them loose in a corridor they will travel the ENTIRE length of the corridor, damaging everything in it's way with a 4 damage fire * the length of the corridor. (or at least that's what it seems). There really should be some limit to the distance that a burning hands can travel (apply this to the other cone spells as well). Perhaps the strength parameter could apply to the distance it travels? --Moonchilde ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sat Sep 5 02:13:47 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 02:13:40 +0200 Return-Path: Received: from PO5.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 02:13:38 +0200 Received: by po5.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 4 Sep 92 20:13:33 EDT Received: via switchmail; Fri, 4 Sep 1992 20:13:31 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Fri, 4 Sep 1992 20:12:35 -0400 (EDT) Received: via niftymail; Fri, 4 Sep 1992 20:12:30 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 4 Sep 1992 20:12:28 -0400 (EDT) From: Moonchilde Subject: Re: More crossfire stuff :) To: crossfire@ifi.uio.no In-Reply-To: <715650246.6886.0@circe.weh.andrew.cmu.edu> References: <715650246.6886.0@circe.weh.andrew.cmu.edu> Message-Id: <715651948.6912.0@circe.weh.andrew.cmu.edu> Status: RO Okay.. here is the patch for the shop code. It was really very simple. What would happen is that if you couldn't afford something, it would return immediately WITHOUT ever updating the inventory of the players. The inclusion of the draw_all_inventory() before the return 0 fixes the problem. -------------------------------cut here----------------------------------- *** shop.c.old Fri Sep 4 20:06:39 1992 --- shop.c Fri Sep 4 20:09:11 1992 *************** *** 114,119 **** --- 114,120 ---- if(!pay_for_item(tmp,pl)) { sprintf(buf2,"You can't afford %s.",query_name(tmp)); draw_info(pl,buf2); + draw_all_inventory(pl); return 0; } else { UNSET_UNPAID(tmp); ------------------------------cut here to get rid of the sig---------------- ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sat Sep 5 02:05:47 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 02:05:41 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 02:05:38 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 4 Sep 92 20:05:32 EDT Received: via switchmail; Fri, 4 Sep 1992 20:05:30 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Fri, 4 Sep 1992 20:04:17 -0400 (EDT) Received: via niftymail; Fri, 4 Sep 1992 20:04:10 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 4 Sep 1992 20:04:09 -0400 (EDT) From: Moonchilde Subject: Re: More crossfire stuff :) To: crossfire@ifi.uio.no In-Reply-To: <715650246.6886.0@circe.weh.andrew.cmu.edu> References: <715650246.6886.0@circe.weh.andrew.cmu.edu> Message-Id: <715651449.6912.0@circe.weh.andrew.cmu.edu> Status: RO Okay, further update. Apparently what is happening is that it IS paying for what it can pay for (until it finds the first item it cannot afford). It is even correctly marking the items structure with the fact that it is paid for. What it is NOT doing is updating the inventory correctly..I'm fixing this now. --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sat Sep 5 01:45:08 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 01:44:55 +0200 Return-Path: Received: from ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 01:44:53 +0200 Received: by andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Fri, 4 Sep 92 19:44:49 EDT Received: via switchmail; Fri, 4 Sep 1992 19:44:48 -0400 (EDT) Received: from circe.weh.andrew.cmu.edu via qmail ID ; Fri, 4 Sep 1992 19:44:13 -0400 (EDT) Received: via niftymail; Fri, 4 Sep 1992 19:44:07 -0400 (EDT) Sender: "Joseph L. Traub" Date: Fri, 4 Sep 1992 19:44:06 -0400 (EDT) From: Moonchilde Subject: More crossfire stuff :) To: crossfire@ifi.uio.no Message-Id: <715650246.6886.0@circe.weh.andrew.cmu.edu> Status: RO Well, I finally got the game to run on the different types of decstations here at my school.. It required me to build a pcf AND an SNF font and hand build a fonts.dir file (mkfontdir here ignores pcf fonts) and have two entries for the font, one with a .pcf extension and the other with a .snf extension. Now there are still some problems, so I thought I'd bring them up here. Okay first.. paralyze, icestorm, and flaming hands seem WAY over powerful for the amount of spell points they cost. Please consider balancing them ASAP. Second, there is a bug somewhere in the shop code which I'm going to try and track down tonight, and will send diffs when I fix it. Basically what happens is go into a shop and pick up a few small items that you can buy individually, but cannot afford altogether. Try and leave the shop.. The shop will deduct money from your cash, but will NOT let you leave, and will NOT mark the items I assume it thinks it has payed for as payed. This should be pretty trivial to fix. Also.. You made sword+4's hard to find.. however a large morningstar with a +1 and a decent strength does about the same amount of nasty damage. Please consider making morningstars a much less common weapon. --Moonchilde ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Sat Sep 5 14:06:04 1992 Received: by ifi.uio.no id ; Sat, 5 Sep 1992 14:05:52 +0200 Return-Path: Received: from RUTGERS.EDU by ifi.uio.no with SMTP id ; Sat, 5 Sep 1992 14:05:50 +0200 Received: from ogicse.UUCP by rutgers.edu (5.59/SMI4.0/RU1.4/3.08) with UUCP id AA17097; Sat, 5 Sep 92 07:16:29 EDT Received: by ogicse.cse.ogi.edu (/\==/\ Smail3.1.25.1 #25.3) id ; Fri, 4 Sep 92 11:11 PDT Received: by cadre.com (/\==/\ Smail3.1.24.1 #24.6) id ; Fri, 4 Sep 92 11:07 PDT Message-Id: Received: from fripp (eno) by cadreri (4.1/SMI-4.1) id AA23657; Fri, 4 Sep 92 13:50:37 EDT Received: from xtc.fripp by fripp (4.1/SMI-4.1) id AA24865; Fri, 4 Sep 92 14:04:25 EDT Date: Fri, 4 Sep 92 14:04:25 EDT From: jh@cadre.com (Joe Hartley) To: crossfire@ifi.uio.no Subject: A (fixed) problem compiling 0.86 on a Sun Status: RO I had a problem compiling crossfire 0.86 on a Sun running gcc 2.2.2 with the fixed include files. I traced this to an unnecessary redeclaration of free() as an int in the "sunos.h" file. I simply commented the redeclaration of free() out and all compiled just fine. I mention this as a clue to others in my situation! =============================================================================== 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 burke@cs.purdue.edu Fri Sep 4 17:35:41 1992 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Fri, 4 Sep 1992 17:35:37 +0200 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Fri, 4 Sep 1992 10:35:33 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Fri, 4 Sep 1992 10:35:31 -0500 Message-Id: <199209041535.AA26102@phoenix.cs.purdue.edu> To: Frank Tore Johansen Cc: burke@cs.purdue.edu, crossfire@ifi.uio.no Subject: Re: Crossfire v0.86 In-Reply-To: Your message of "Fri, 04 Sep 92 17:15:54 +0200." <199209041515.AAondur.ifi.uio.no02010@ondur.ifi.uio.no> Date: Fri, 04 Sep 92 10:35:29 EST From: burke@cs.purdue.edu Status: RO >> >I've put up version 0.86 of crossfire at ftp.ifi.uio.no in the /pub/crossfi >re >> >directory. >> > >> >> We've grabed it and have found the following problems > >Sorry for the duplicate mail, forgot to add CC: crossfire in the >previous mail. > >Just wanted to mention to the rest of you that this seems like what would >happen if you forget to use the new archetype file. > >-Frank. That was the problem. I had LIBDIR set to crossfire 0.85 sorry for the false alarm byron From owner-crossfire Fri Sep 4 17:16:44 1992 Received: by ifi.uio.no id ; Fri, 4 Sep 1992 17:15:58 +0200 Return-Path: Received: from ondur.ifi.uio.no by ifi.uio.no with SMTP id ; Fri, 4 Sep 1992 17:15:56 +0200 From: Frank Tore Johansen Received: by ondur.ifi.uio.no ; Fri, 4 Sep 1992 17:15:55 +0200 Message-Id: <199209041515.AAondur.ifi.uio.no02010@ondur.ifi.uio.no> Subject: Re: Crossfire v0.86 To: burke@cs.purdue.edu Date: Fri, 4 Sep 1992 17:15:54 +0200 Cc: crossfire@ifi.uio.no In-Reply-To: <199209041414.AA25488@phoenix.cs.purdue.edu>; from "burke@cs.purdue.edu" at Sep 4, 92 9:14 am X-Mailer: ELM [version 2.3 PL11] Status: RO > >I've put up version 0.86 of crossfire at ftp.ifi.uio.no in the /pub/crossfire > >directory. > > > > We've grabed it and have found the following problems Sorry for the duplicate mail, forgot to add CC: crossfire in the previous mail. Just wanted to mention to the rest of you that this seems like what would happen if you forget to use the new archetype file. -Frank. From owner-crossfire Fri Sep 4 16:15:16 1992 Received: by ifi.uio.no id ; Fri, 4 Sep 1992 16:14:46 +0200 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Fri, 4 Sep 1992 16:14:41 +0200 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Fri, 4 Sep 1992 09:14:38 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Fri, 4 Sep 1992 09:14:36 -0500 Message-Id: <199209041414.AA25488@phoenix.cs.purdue.edu> To: Frank Tore Johansen Cc: crossfire@ifi.uio.no, burke@cs.purdue.edu Subject: Re: Crossfire v0.86 In-Reply-To: Your message of "Fri, 04 Sep 92 09:43:33 +0200." <199209040743.AAyrsa.ifi.uio.no25099@yrsa.ifi.uio.no> Date: Fri, 04 Sep 92 09:14:34 EST From: burke@cs.purdue.edu Status: RO >I've put up version 0.86 of crossfire at ftp.ifi.uio.no in the /pub/crossfire >directory. > We've grabed it and have found the following problems LIBDIR is no longer defined in the Imakefile. In config.h it's definition should also have an #ifndef LIBDIR around it. We usually can't wear the armor that it provided when the character is created. The following spells dumped core on us: Paralize - $ gdb crossfire core GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.5, Copyright 1992 Free Software Foundation, Inc... Warning: core file may not match specified executable file. Core was generated by `crossfire'. Program terminated with signal 11, Segmentation fault. Cannot access memory at address 0x0. #0 set_owner (op=0x0, owner=0x6e764) at object.c:129 129 op->owner=owner, (gdb) where #0 set_owner (op=0x0, owner=0x6e764) at object.c:129 #1 0x1ed84 in cast_cone (op=0x6e764, dir=3, att_type=0, strength=5, spell_type=13) at spells.c:104 #2 0x1eb44 in cast_spell (op=0x6e764, dir=3, type=13) at spells.c:54 #3 0x12cb0 in fire (op=0x6e764, dir=3) at main.c:907 #4 0x136e0 in move_player (op=0x6e764, dir=3, face=1) at main.c:1200 #5 0xd12c in parse_key (op=0x6e764, k=76, ks=92) at input.c:1231 #6 0x148ec in handle_player (op=0x6e764) at main.c:1522 #7 0x151bc in process_events () at main.c:1708 #8 0x15c48 in main (argc=1, argv=0xf7fff8ec, env=0xf7fff8f4) at main.c:1921 burning hands - $ gdb crossfire core GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.5, Copyright 1992 Free Software Foundation, Inc... Warning: core file may not match specified executable file. Core was generated by `crossfire'. Program terminated with signal 11, Segmentation fault. Cannot access memory at address 0x0. #0 0x1ed44 in cast_cone (op=0x6e764, dir=1, att_type=6, strength=5, spell_type=4) at spells.c:96 96 break; (gdb) where #0 0x1ed44 in cast_cone (op=0x6e764, dir=1, att_type=6, strength=5, spell_type=4) at spells.c:96 #1 0x1ec28 in burning_hands (op=0x6e764, dir=1, att_type=6, strength=5) at spells.c:76 #2 0x1eb24 in cast_spell (op=0x6e764, dir=1, type=4) at spells.c:51 #3 0x12c9c in fire (op=0x6e764, dir=1) at main.c:904 #4 0x136e0 in move_player (op=0x6e764, dir=1, face=2) at main.c:1200 #5 0xd114 in parse_key (op=0x6e764, k=75, ks=91) at input.c:1230 #6 0x148ec in handle_player (op=0x6e764) at main.c:1522 #7 0x151bc in process_events () at main.c:1708 #8 0x15c48 in main (argc=1, argv=0xf7fff8ec, env=0xf7fff8f4) at main.c:1921 and ice storms - $ gdb crossfire core GDB is free software and you are welcome to distribute copies of it under certain conditions; type "show copying" to see the conditions. There is absolutely no warranty for GDB; type "show warranty" for details. GDB 4.5, Copyright 1992 Free Software Foundation, Inc... Warning: core file may not match specified executable file. Core was generated by `crossfire'. Program terminated with signal 11, Segmentation fault. Cannot access memory at address 0x0. #0 0x1ed44 in cast_cone (op=0x6ec98, dir=7, att_type=18, strength=5, spell_type=14) at spells.c:96 96 break; (gdb) where #0 0x1ed44 in cast_cone (op=0x6ec98, dir=7, att_type=18, strength=5, spell_type=14) at spells.c:96 #1 0x1eb60 in cast_spell (op=0x6ec98, dir=7, type=14) at spells.c:57 #2 0x12cc4 in fire (op=0x6ec98, dir=7) at main.c:910 #3 0x136e0 in move_player (op=0x6ec98, dir=7, face=0) at main.c:1200 #4 0xd144 in parse_key (op=0x6ec98, k=72, ks=89) at input.c:1232 #5 0x148ec in handle_player (op=0x6ec98) at main.c:1522 #6 0x151bc in process_events () at main.c:1708 #7 0x15c48 in main (argc=1, argv=0xf7fff8ec, env=0xf7fff8f4) at main.c:1921 (crossfire was compiled with gcc v 2.2.2 -g) We haven't tried it enough to see if it is too hard or not but I'll send you comments about that later. byron p.s. Golems seemed to work fine. -- A man's riches may ransom his life, but a poor man hears no threat. Proverbs 13:8. burke@cs.purdue.edu (crossfire@cs.purdue.edu) From owner-crossfire Fri Sep 4 04:47:38 1992 Received: by ifi.uio.no id ; Fri, 4 Sep 1992 04:47:17 +0200 Return-Path: Received: from PO2.ANDREW.CMU.EDU by ifi.uio.no with SMTP id ; Fri, 4 Sep 1992 04:47:15 +0200 Received: by po2.andrew.cmu.edu (5.54/3.15) id for crossfire@ifi.uio.no; Thu, 3 Sep 92 22:47:06 EDT Received: via switchmail; Thu, 3 Sep 1992 22:47:01 -0400 (EDT) Received: from freehold.andrew.cmu.edu via qmail ID ; Thu, 3 Sep 1992 22:46:23 -0400 (EDT) Received: via niftymail; Thu, 3 Sep 1992 22:46:18 -0400 (EDT) Sender: "Joseph L. Traub" Date: Thu, 3 Sep 1992 22:46:18 -0400 (EDT) From: Moonchilde Subject: A problem with a few objects displaying. To: crossfire@ifi.uio.no Message-Id: <715574778.7268.0@freehold.andrew.cmu.edu> Status: RO Hi. I'm relatively new to the mailing list, so until I'm sure that I'm subscribed, could you please cc copies of your responses to this to myself? Thanks. Now for the problem. Under 0.83, a couple of objects do not display on the screen when you tell them to. Most notably giants. In fact, they get drawn as a width zero character, and thus throw off just about everything else on the screen (not to mention killing you when you cannot hit them) Under 0.85 (and 0.86) a larger number of objects display in this manner for instance, all the gates, all the spikes, all the trap doors, etc, etc.. as well as the giant, and I don't know what others. I think this must have something to do with the XDrawImageString16, but I haven't been able to track the problem down completely yet. Gdb died while debugging complaining that I didn't have enough core memory for it and crossfire to run comfortably. Bah humbug. I'm sending this here in the hopes that someone else has had this problem and come up with the correct fix for it. I am running with X11R4 and compiling on a decstation 3100. The problem happens regardless of whether I used an snf or a pcf font. and I did try it both ways. Hope someone has a clue --JT ------------------------------------------------------------------------- Practice random kindness and senseless acts of beauty --Anonymous Argue for your limitations and sure enough they're yours --Richard Bach Moonchilde/Amythyst/JT Traub --- jtraub@cmu.edu From owner-crossfire Thu Sep 3 00:18:35 1992 Received: by ifi.uio.no id ; Thu, 3 Sep 1992 00:17:47 +0200 Return-Path: Received: from arthur.cs.purdue.edu by ifi.uio.no with SMTP id ; Thu, 3 Sep 1992 00:17:41 +0200 Received: from phoenix.cs.purdue.edu by arthur.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Wed, 2 Sep 1992 17:17:37 -0500 Received: from localhost by phoenix.cs.purdue.edu (5.65c/PURDUE_CS-1.2) id ; Wed, 2 Sep 1992 17:17:35 -0500 Message-Id: <199209022217.AA20532@phoenix.cs.purdue.edu> To: crossfire@ifi.uio.no Cc: crossfire@cs.purdue.edu Subject: Golems Date: Wed, 02 Sep 92 17:17:34 EST From: burke@cs.purdue.edu Status: RO Hi all, We have been playing with crossfire v0.85 and cannot seem to control the movement of the golems we cast. When we cast them they will move two units away and then track your movement (sort of) and if we try to change the direction (using SHIFT j,k,l ....) they will try to get into the position two squares away in that direction. Strange things happen when the golem cannot actually get into that position. Is this a "bug" or a "feature"? byron p.s. We really liked the old way. -- A man's riches may ransom his life, but a poor man hears no threat. Proverbs 13:8. burke@cs.purdue.edu