Code question: my quest of real death...

From: Mud Admin (empire@www.cedarnet.com)
Date: 06/28/96


Well, I got it working better...but I still have this problem.

In fight.c I added this (in the damage function I think):

  case POS_DEAD:
    act("$n is dead!  R.I.P.", FALSE, victim, 0, 0, TO_ROOM);
    send_to_char("You are dead!  Sorry...\r\n", victim);
    perm_death(victim);
    break;

And in handler.c I have the function for perm_death:

void perm_death(struct char_data *ch)
{
  int percent, prob = 0;
 
  prob = (con_app[GET_CON(ch)].shock);
  percent = number(1, 101);
 
  sprintf(buf, "Your system shock was %d. And your shock check was 
%d.\r\n", 
prob, percent);
  send_to_char(buf, ch);
 
  if (percent > prob) {
      SET_BIT(PLR_FLAGS(ch), PLR_DELETED);
      send_to_char("You have suffered permenent death!\r\n", ch);
      send_to_char("The next time you enter the Empire, it will be with 
a new character.\r\n", ch);
      sprintf(buf, "%s (lev %d) has died for real.", GET_NAME(ch),
              GET_LEVEL(ch));
      mudlog(buf, NRM, LVL_GOD, TRUE);
      close_socket(ch->desc);
  } 
      send_to_char("You were lucky, you only lose 1 point of 
constitution.\r\n", ch);
      ch->real_abils.con--;
}

When I die with a test character and MAKE the con check it works just 
fine. However, now when I am dying...before it even gives me the "Your 
dead...Sorry!" message, it says "Connection closed by forigen host." But 
my character gets the deleted flag set.

Any help or advice would be appreaciated. Flames however, are not.

--Ziz, NetShamen



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