[comp.sources.games.bugs] File players/default missing from MDG...

dean@coplex.uucp (Dean Brooks) (02/21/91)

   The recently distributed MDG multi-user dungeon game looks
wonderful, and compiled perfectly on our machine.  However, there
seems to be a rather important file missing that would normally
reside in /usr/games/lib/mdg/players.  The file is supposed to be
called "default", to give the default setting for a new player.

   I created a blank default file, but it brings me into the game
with no hit-point, so I immediately die.  Anyone have this file?

--
dean@coplex.UUCP   Dean A. Brooks
                   Copper Electronics, Inc.
                   Louisville, Ky
UUCP: !uunet!coplex!dean

rosalia@max.physics.sunysb.edu (Mark Galassi) (02/21/91)

In article <1991Feb20.174300.23010@coplex.uucp> dean@coplex.uucp (Dean Brooks) writes:

>   I created a blank default file, but it brings me into the game
>with no hit-point, so I immediately die.  Anyone have this file?

Here is what I did:  I made the blank file, then I made myself
a character (with "mdg_char") who had everything set to zero. Then
I took that file, changed the numbers from zero to other values,
and replaced the "default" file.  Now new players get something.

I still don't know exactly what the file format is, but the various
numbers correspond to those you see in the "mdg_char" program.
-- 
    {These opinions are mine, and should be everybody else's :-)}
	Mark Galassi		rosalia@dirac.physics.sunysb.edu
	rosalia@mozart.UUCP	rosalia@sunysbnp.BITNET

grady@fx.com (Steven Grady) (02/23/91)

rosalia@max.physics.sunysb.edu (Mark Galassi) writes:

>In article <1991Feb20.174300.23010@coplex.uucp> dean@coplex.uucp (Dean Brooks) writes:

>>   I created a blank default file, but it brings me into the game
>>with no hit-point, so I immediately die.  Anyone have this file?

>I still don't know exactly what the file format is, but the various
>numbers correspond to those you see in the "mdg_char" program.

By looking at the code, I came up with this default.  It's not very good,
but it works..:
--cut-here--

200
0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
10:10
5:5
0
[0/0]
3
0
0
al = 1
--cut-here--
Format:
	Name
	Gold
	[abilities in the 26 spells -- how much effort has been put
	 into learning each one]
	maxHP:HP
	maxSP:SP
	fightingAbility
	[startingSect/home]
	extraLives
	oldTime
	creationPoints
	al = alignment
Probably "fightingAbility" should be higher than 0, but I don't know a
good value..

I suspect with a real version of "default", this game could be fun, but I
don't have time to play-test to determine good values, and right now
the game is kind of boring. (I haven't found any objects or gold, and I die
before I can kill more than a rat or two..)
-- 
	Steven
	grady@fx.com
"Now it's time to say goodbye.  Please get off my property.  Until
next year!  I suggest you don't dawdle -- the hounds will be released
in 10 minutes."

karl@sugar.hackercorp.com (Karl Lehenbauer) (02/24/91)

In article <1991Feb22.201422.15177@fxgrp.fx.com> grady@fx.com writes:
>I suspect with a real version of "default", this game could be fun, but I
>don't have time to play-test to determine good values, and right now
>the game is kind of boring. (I haven't found any objects or gold, and I die
>before I can kill more than a rat or two..)

No sweat.  Just set your hitpoints up to several thousand, etc, if just for
a while.  It at least lets you look around and check out the game -- you're
the gameadmin, after all... ;-)
-- 
-- uunet!sugar!karl
-- 

nyse@nicedel.north.de (Hermann Behrens) (02/25/91)

>No sweat.  Just set your hitpoints up to several thousand, etc, if just for

Does someone know, how to contact a Trader? Is there an other file missing?


ciao, Hermann Behrens
-- 
Hermann Behrens|Bremerstr. 323|2870 Delmenhorst|04221/71931(DATA)71932(VOICE)

dmw@prism1.UUCP (David Wright) (02/27/91)

In article <1991Feb22.201422.15177@fxgrp.fx.com> grady@fx.com writes:
>I suspect with a real version of "default", this game could be fun, but I
>don't have time to play-test to determine good values, and right now
>the game is kind of boring. (I haven't found any objects or gold, and I die
>before I can kill more than a rat or two..)
	I think that the problem is that the files have all objects marked as
"out" (IE, randomly dropped by monsters), rather than in the traders shop.
And looking at the code a little, it actually appears items will be removed
from the traders shop after a period of time, and marked as out, which seems
just dumb, IMHO. If you edit your item.start file, and change some of the
[-3] entries at the start of the line to [-4], and set the sector to 0,0 (right
after the [-3]), the items will appear in the traders shop that is to the left
of the home sector. Also, make sure and delete the item.save and item.old files
so that you will force the daemon to read the start file (or just edit your
item.save file).


			Dave

djenner@arthur.Eng.Sun.COM (Doug Jenner) (02/28/91)

Below are *UNOFFICAL* patches that tweak mdg to handle items in a little more
interesting fashion.  There are two patches, one of which changes msghandler.c
to allow the trader to buy and sell stuff from "phantom non-player characters"
and another to insure high danger monster give out high value prizes (when
available).

To go into a bit more detail:

) The trader gradually loses stock to decay in the standard game.  This is
   nice to keep some of the big ticket items from just collecting in the
   traders and never being awarded, but makes for a tough opening game.  There
   is nothing in the trader to begin with and a low number of active players
   means very little shows up to buy.  The patch causes 5 items to be picked
   at random every noon.  If these items are not currently in play and are
   not stuff such as cash, crystals, notes, or overly valuable, then they are
   put up for sale.  Think of them as items sold by "non player characters"
   to the trader, and the items that disappear through decay as having been
   purchased by those selfsame characters.
)  The other patch causes prizes to be awarded in a manner such that dangerous
   critters cough up big ticket items (value of treasure >= 10*danger^2 - 10)
   An unusual side effect is that if there is no approriate item, you get
   nothing.  (I still don't think a dragon should give a torch as a prize!)

I can't seem to get a a message to jcg@tree.uucp, so these things don't
have the blessing of the author.  Use at your own risk.
8<--- cut here 8<---
*** msghandler.c.orig	Wed Feb 27 11:44:55 1991
--- msghandler.c	Wed Feb 27 11:48:04 1991
***************
*** 319,325 ****
  		break;
  	case G_MORNING :
  		dmsg_all("It's noon.");
! 		break;
  	case G_AFTERNOON :
  		dmsg_all("It's evening.");
  		break;
--- 319,326 ----
  		break;
  	case G_MORNING :
  		dmsg_all("It's noon.");
! 		blue_light_specials();	/*every day at noon, new stuff goes */
! 		break;			/* on sale at the traders */
  	case G_AFTERNOON :
  		dmsg_all("It's evening.");
  		break;
***************
*** 331,337 ****
--- 332,366 ----
  	decay_items();
  }
  
+ blue_light_specials()
+ /* Check to see how much value the trader has in stock.  The trader can 
+ ** "afford" 150% of the value of stock on hand (plus $50) to aquire items
+ ** from "non-player" characters.  Next, five items are chosen at random
+ ** from the list.  If these items are in NONESUCH land and are note notes,
+ ** cash, or crystals (and are "affordable") the trader gets to put it up
+ ** for sale.  If any of the above conditions are not met, the trader misses
+ ** out on the item.
+ */
+ {
+ 	int i, chance, total_stock_value = 0;
+ 	
+ 	for(i = pseg->item_count - 1; i >= 0; i--) 
+ 		if (pseg->itm[i].loc.sector == LOC_TRADER)
+ 			total_stock_value += pseg->itm[i].value;
  
+ 	for(i = 0; i<5; i++) {
+ 		chance = rnd(pseg->item_count - 1);
+ 		if (pseg->itm[chance].type != CRYSTAL 
+ 		&& pseg->itm[chance].type != NOTE	
+ 		&& pseg->itm[chance].type != CASH
+ 		&& pseg->itm[chance].value <  ((1.5*total_stock_value)+50)
+ 		&& pseg->itm[chance].loc.sector == LOC_NONESUCH) {
+ 			pseg->itm[chance].loc.sector = LOC_TRADER;
+ 			pseg->itm[chance].decay_cnt = 0;
+ 		}	
+ 	}
+ }
+ 		
  decay_items()
  {
  	int i, sector, x;
*** combat.c.orig	Wed Feb 27 11:44:56 1991
--- combat.c	Wed Feb 27 11:47:46 1991
***************
*** 696,702 ****
  
  	switch(rnd(2)) {
  	case 1 :
! 		put_item_tr(sector, x, y); 
  		break;
  	case 2 :
  		put_treasure(tval * 20, sector, x, y); 
--- 696,702 ----
  
  	switch(rnd(2)) {
  	case 1 :
! 		put_item_tr(sector, x, y, danger); 
  		break;
  	case 2 :
  		put_treasure(tval * 20, sector, x, y); 
***************
*** 741,748 ****
  }
  
  
! put_item_tr(sector, x, y)
! int sector, x, y;
  {
  	int i, choice;
  
--- 741,748 ----
  }
  
  
! put_item_tr(sector, x, y, danger)
! int sector, x, y, danger;
  {
  	int i, choice;
  
***************
*** 751,757 ****
  	for(i = 0; i < pseg->item_count; i++) {
  		if(pseg->itm[i].loc.sector == LOC_NONESUCH
  		&& pseg->itm[i].type != CRYSTAL
! 		&& pseg->itm[i].type != CASH) {
  			if(choice == -1 || rnd(2) == 1)
  				choice = i;
  		}
--- 751,758 ----
  	for(i = 0; i < pseg->item_count; i++) {
  		if(pseg->itm[i].loc.sector == LOC_NONESUCH
  		&& pseg->itm[i].type != CRYSTAL
! 		&& pseg->itm[i].type != CASH
! 		&& pseg->itm[i].value >= (10*(danger*danger)-10)) {
  			if(choice == -1 || rnd(2) == 1)
  				choice = i;
  		}

--
_Doug Jenner_	          Model: Homo Sapiens, version 0.24, Alpha release 
djenner@sun.com		
The above views are those of the author, and not necessarily those of 
  Sun Microsystems, Inc.  'Though I haven't really asked them about it.

dmw@prism1.UUCP (David Wright) (03/01/91)

In article <1991Feb24.234225.1459@nicedel.north.de> nyse@nicedel.north.de (Hermann Behrens) writes:
>
>Does someone know, how to contact a Trader? Is there an other file missing?
	No, but all the items in the items.start file are set to be dropped
by monsters. You should edit the file and make some low-level items like
swords, armour, etc. marked as "in traders". To do this chage the [-3] that
is the first thing on the line to a [-4], and set the row/col numbers (the
next two numbers after the [-3]) to 0. Then delete your items.save and
items.old (make sure the mdg server is down first). When you start the
server the next time there will be items in the traders.


			Dave

michael@makaha.cs.ucla.edu (michael gersten) (03/05/91)

djenner@arthur.Eng.Sun.COM (Doug Jenner) writes:

>NOTE: Stuff in the trader's will eventually go away (DECAY_TRADER) after 4
>days (game time) which is about 1.5 hours (real time).  Stuff you are 
>carrying about decays and goes away after 9 days game time.  (So be sure
>to use stuff up or drop and pick it up again on a frequent basis!)
>
>I am currently working on a mod that will moves things from NONESUCH into
>the trader's (DECAY_NONESUCH) that will keep the trader's stock "fresh" and
>simulate a thriving business servicing "non-players" who are off adventuring
>somewhere else.  I'll post the diffs when I am finished if anyone is interested.

Not quite--on my system it goes 4 REAL days, not game days. Stuff on
you goes after 9 days of no activity on your player.

I like the idea of decay_nonesuch, but perhaps it should be probabalistic?
Otherwise, a large amount of equipment will go into the traders all at once.

For those who didn't get a default player, or are having trouble getting
started: I got a default player. No abilities with any spells, one
extra life, 500 gold. Works quite well.

Note: Attack spells cost 600 gold. Armor spell costs 200 (and works
better than anything you can afford at the beginning). Glow
costs 200 (and is about as good as a torch, but reusable). Another
100 gets you a short short or dagger and shield.

djenner@arthur.Eng.Sun.COM (Doug Jenner) (03/06/91)

In article <michael.668161504@makaha>, michael@makaha.cs.ucla.edu (michael gersten) writes:
> I like the idea of decay_nonesuch, but perhaps it should be probabalistic?
> Otherwise, a large amount of equipment will go into the traders all at once.
> 
As Michael has pointed out, the stuff I posted was braindamaged in that
stuff hung around the traders too long and so the trader (curse its black
capitalistic soul) ended up owning damn near everything.  A fix for this
problem (and a few other features) is forthcoming and should be expected
in the next day or so.  As a temporary work around you may wish to lower
DECAY_TRADER to some much lower value (say 400-600) in setup.h. 

With much chagrin,

D.

--
_Doug Jenner_	          Model: Homo Sapiens, version 0.24, Alpha release 
djenner@sun.com		
The above views are those of the author, and not necessarily those of 
  Sun Microsystems, Inc.  'Though I haven't really asked them about it.