Re: Fionn's Newbie Questions

From: George (gagreer@dragon.ham.muohio.edu)
Date: 05/09/96


#1) The corpse only taken by the person who died.

There was some discussion on here a while ago about saving ID number
in the obj because the ID number is unique for all pc's or something
about that.  You could try that or a strstr() the char's name to the
long desc of the corpse.  Haven't tried either, not a priority...

#2) The receptionist free renting.

int gen_receptionist(struct char_data * ch, struct char_data * recep,
		         int cmd, char *arg, int mode)
{
[blah blah]
  if (CMD_IS("rent")) {
    if (!(cost = Crash_offer_rent(ch, recep, FALSE, mode)))
      return TRUE;
    cost = 0; 

 It's a small fudge, but that is the main change.  You also want to look 
through the rest of objsave.c and fix the references to such functions
as Crash_report_rent, Crash_rent_deadline, Crash_offer_rent, etc.
Note that you could also just change every obj to 0 rent cost/day and
set the receptionist surcharge to 0 also, same effect.

#3) Wearing a piece of armor over two spots.

ACMD(do_wear)
[blah blah]
  if (dotmode == FIND_ALL) {
    for (obj = ch->carrying; obj; obj = next_obj) {
      next_obj = obj->next_content;
      if (CAN_SEE_OBJ(ch, obj) && (where = find_eq_pos(ch, obj, 0)) >= 0) {
	items_worn++;
	perform_wear(ch, obj, where);
      }
    }

In the above code (and also the code below this in act.item.c if you
want it fully fixed) change it to check both positions.  Then if both
are free, do a perform_wear() to both spots.  And when they remove it
later, make sure you remove it both times also.  One note, you have to
also change the ALL.obj code or else they will be able to wear the obj
in only one spot.  I also assume you have two bits set for it and maybe
a flag so that an item you can wield and hold won't take both (except
for two-handed weapons of course).

I probably missed some things but that's the "basic idea"...
as for your money problem, that's trickier.  Have to do conversions,
more variables..etc..unless you change money to a fractional variable
and make all the lower coins "pooled", thus you just parse every
decimal cost to the appropriate numbers.

George Greer---the one of no .sig



This archive was generated by hypermail 2b30 : 12/18/00 PST