Re: A few questions from a beginner

From: lofi (myers@indy.net)
Date: 04/07/95


>      a: reim
>      b: calm ( to halt fighting in a room)
>      (looks like I though of a few more)


ACMD(do_peace)
{
  struct char_data *tch;
  char *words = "$n issues an order of total tranquility.";

  if(IN_ROOM(ch) == NOWHERE){
   send_to_char("You can not make peace in nowhere!\r\n", ch);
   return;
  }

  for(tch = world[IN_ROOM(ch)].people; tch; tch = tch->next){
    if(FIGHTING(tch) && IMM_CAN_SEE(ch, tch)){
      stop_fighting(tch);
      act(words, TRUE, ch, 0, tch, TO_VICT);
    }
  }
  send_to_char("You fill the room with tranquility.\r\n", ch);
  return;

}

>      c: passdoor (so imm+'s can walk through closed doors, etc)

That is about a 1 or 2 line code check in act.movement.c.

>      d: and a command to give newbie's basic items and gold



And yet again..... ;)

void 	load_newbie_equipment(struct char_data *ch)
{
/* 
 * NOTE: these numbers will be changed if the zone files are wiped...
 */
        int items[7]=
        { 3010, 3010, 3010, 3032, 3044, 3076, 3081 };
        int tmp;
        struct obj_data *o;

        for(tmp=0; tmp<=6; tmp++){
         if((o=read_object(items[tmp], VIRTUAL)) == NULL){
                 sprintf(buf,"ERROR: newbie load: object #%d does not exist.",
                        items[tmp]);
                 log(buf);
                 continue;
           } else 
                obj_to_char(o,ch);
        }
                
/* 
 * attacking type weapon
 */
        if(GET_CLASS(ch) == CLASS_WARRIOR) tmp = 3021;
        else if(GET_CLASS(ch) == CLASS_CLERIC)  tmp = 3024;
        else tmp = 3020;

        o = read_object(tmp, VIRTUAL);
        if(o == NULL) return;
        obj_to_char(o, ch);

	GET_GOLD(ch) = 0;
	GET_GOLD(ch) = number(500, 750);
}


-reni



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