/
2.4.5/dgd/include/
2.4.5/dgd/std/
2.4.5/dgd/sys/
2.4.5/doc/LPC/
*** room/adv_guild.c.orig	Wed Jan 16 22:13:10 1991
--- room/adv_guild.c	Sun Aug 22 13:32:17 1993
***************
*** 187,193 ****
  query_cost_for_level(l, e) {
      level = l;
      exp = e;
!     get_level();
      if (next_exp <= exp)
  	return 0;
      return (next_exp - exp) * 1000 / EXP_COST;
--- 187,193 ----
  query_cost_for_level(l, e) {
      level = l;
      exp = e;
!     get_level(0);
      if (next_exp <= exp)
  	return 0;
      return (next_exp - exp) * 1000 / EXP_COST;
***************
*** 200,224 ****
      player_ob = this_player();
      level = call_other(player_ob, "query_level", 0);
  
!     cost = raise_cost(player_ob->query_str());
      if (cost)
  	write("Str: " + cost + " experience points.\n");
      else
  	write("Str: Not possible.\n");
  
!     cost = raise_cost(player_ob->query_con());
      if (cost)
  	write("Con: " + cost + " experience points.\n");
      else
  	write("Con: Not possible.\n");
  
!     cost = raise_cost(player_ob->query_dex());
      if (cost)
  	write("Dex: " + cost + " experience points.\n");
      else
  	write("Dex: Not possible.\n");
  
!     cost = raise_cost(player_ob->query_int());
      if (cost)
  	write("Int: " + cost + " experience points.\n");
      else
--- 200,224 ----
      player_ob = this_player();
      level = call_other(player_ob, "query_level", 0);
  
!     cost = raise_cost(player_ob->query_str(), 0);
      if (cost)
  	write("Str: " + cost + " experience points.\n");
      else
  	write("Str: Not possible.\n");
  
!     cost = raise_cost(player_ob->query_con(), 0);
      if (cost)
  	write("Con: " + cost + " experience points.\n");
      else
  	write("Con: Not possible.\n");
  
!     cost = raise_cost(player_ob->query_dex(), 0);
      if (cost)
  	write("Dex: " + cost + " experience points.\n");
      else
  	write("Dex: Not possible.\n");
  
!     cost = raise_cost(player_ob->query_int(), 0);
      if (cost)
  	write("Int: " + cost + " experience points.\n");
      else
*** obj/door.c.orig	Wed Jan 16 22:12:09 1991
--- obj/door.c	Sun Oct  3 19:51:29 1993
***************
*** 135,141 ****
    if ( can_lock ) {
      add_action( "unlock", "unlock");
      
!     add_action( "lock", "lock");
    }
  }
  
--- 135,141 ----
    if ( can_lock ) {
      add_action( "unlock", "unlock");
      
!     add_action( "do_lock", "lock");
    }
  }
  
***************
*** 226,232 ****
    }
  }    
  
! lock( str)
  {
    object ob;
    int tmp;
--- 226,232 ----
    }
  }    
  
! do_lock( str)
  {
    object ob;
    int tmp;
*** obj/living.c.orig	Wed Jan 16 22:12:13 1991
--- obj/living.c	Wed Aug 11 22:51:37 1993
***************
*** 117,123 ****
   * If the second argument exists, then the first argument is taken
   * as the movement message only.
   */
! move_player(dir_dest, optional_dest_ob)
  {
      string dir, dest;
      object ob;
--- 117,123 ----
   * If the second argument exists, then the first argument is taken
   * as the movement message only.
   */
! varargs move_player(dir_dest, optional_dest_ob)
  {
      string dir, dest;
      object ob;
*** obj/mail_reader.c.orig	Wed Jan 16 22:12:15 1991
--- obj/mail_reader.c	Thu Sep 16 20:56:07 1993
***************
*** 169,175 ****
      if (sizeof(arr_messages) == 2)
  	messages = "";
      else
! 	messages = implode(arr_messages, "\n**\n") + "\n**\n";
      new_mail = 0;
      save_object(NAME + this_player()->query_real_name());
      if (messages == "")
--- 169,175 ----
      if (sizeof(arr_messages) == 2)
  	messages = "";
      else
! 	messages = implode(arr_messages - ({ 0 }), "\n**\n") + "\n**\n";
      new_mail = 0;
      save_object(NAME + this_player()->query_real_name());
      if (messages == "")
*** obj/master.c.orig	Thu Oct 31 21:55:06 1991
--- obj/master.c	Sat May  7 13:57:49 1994
***************
*** 67,83 ****
      object ob;
      string ret;
  
-     write("obj/master: Connect to player.c...");
  #if 0
      ret = (string)catch(ob = clone_object("obj/player"));
  #else
      ob = clone_object("obj/player");
  #endif
-     write("\n");
-     if (ret) {
- 	write(ret + "\n");
- 	return 0;
-     }
      return ob;
  }
  
--- 67,77 ----
***************
*** 343,346 ****
--- 337,345 ----
  	return 0;
      }
      return fname;
+ }
+ 
+ int valid_exec(string prog)
+ {
+     return prog == "dgd/sys/hname";
  }
*** obj/monster.c.orig	Wed Jan 16 22:12:16 1991
--- obj/monster.c	Wed Aug 11 22:51:29 1993
***************
*** 54,60 ****
  
  int random_pick;
  
! int spell_chance, spell_dam;
  string spell_mess1, spell_mess2;
  object me;
  object create_room;
--- 54,60 ----
  
  int random_pick;
  
! int spell_chance, spell_damage;
  string spell_mess1, spell_mess2;
  object me;
  object create_room;
***************
*** 123,129 ****
        spell_chance > random(100)) {
  	say(spell_mess1 + "\n", attacker_ob);
  	tell_object(attacker_ob, spell_mess2 + "\n");
! 	call_other(attacker_ob, "hit_player", random(spell_dam));
      }
      attack();
      if (attacker_ob && whimpy && hit_point < max_hp/5)
--- 123,129 ----
        spell_chance > random(100)) {
  	say(spell_mess1 + "\n", attacker_ob);
  	tell_object(attacker_ob, spell_mess2 + "\n");
! 	call_other(attacker_ob, "hit_player", random(spell_damage));
      }
      attack();
      if (attacker_ob && whimpy && hit_point < max_hp/5)
***************
*** 252,258 ****
      spell_mess2 = m;
  }
  set_spell_dam(d) {
!     spell_dam = d;
  }
  
  /* Set the frog curse. */
--- 252,258 ----
      spell_mess2 = m;
  }
  set_spell_dam(d) {
!     spell_damage = d;
  }
  
  /* Set the frog curse. */
*** obj/monster.talk.c.orig	Thu Sep 16 20:11:41 1993
--- obj/monster.talk.c	Sat Aug 21 20:04:58 1993
***************
*** 57,63 ****
  
  int random_pick;
  
! int spell_chance, spell_dam;
  string spell_mess1, spell_mess2;
  object me;
  object create_room;
--- 57,63 ----
  
  int random_pick;
  
! int spell_chance, spell_damage;
  string spell_mess1, spell_mess2;
  object me;
  object create_room;
***************
*** 127,133 ****
        spell_chance > random(100)) {
  	say(spell_mess1 + "\n", attacker_ob);
  	tell_object(attacker_ob, spell_mess2 + "\n");
! 	call_other(attacker_ob, "hit_player", random(spell_dam));
      }
      attack();
      if (attacker_ob && whimpy && hit_point < max_hp/5)
--- 127,133 ----
        spell_chance > random(100)) {
  	say(spell_mess1 + "\n", attacker_ob);
  	tell_object(attacker_ob, spell_mess2 + "\n");
! 	call_other(attacker_ob, "hit_player", random(spell_damage));
      }
      attack();
      if (attacker_ob && whimpy && hit_point < max_hp/5)
***************
*** 258,264 ****
      spell_mess2 = m;
  }
  set_spell_dam(d) {
!     spell_dam = d;
  }
  
  /* Set the frog curse. */
--- 258,264 ----
      spell_mess2 = m;
  }
  set_spell_dam(d) {
!     spell_damage = d;
  }
  
  /* Set the frog curse. */
*** obj/player.c.orig	Thu Nov  7 09:04:54 1991
--- obj/player.c	Sat May  7 13:57:50 1994
***************
*** 1,3 ****
--- 1,7 ----
+ # include <config.h>
+ 
+ inherit "/dgd/lib/player";
+ 
  #include "log.h"
  #include "living.h"
  
***************
*** 112,117 ****
--- 116,126 ----
  	destruct(this_object());
  	return;
      }
+     if (str == "HNAME") {
+ 	HNAME->logon();
+ 	destruct(this_object());
+ 	return;
+     }
      str = lower_case(str);
      if (!valid_name(str)) {
  	input_to("logon2");
***************
*** 1683,1689 ****
  	write("Ok.\n");
  	return;
      }
!     if (str[0] == '!') {
  	sscanf(str, "!%s", cmd);
  	command(cmd);
      } else if (str != "") {
--- 1692,1698 ----
  	write("Ok.\n");
  	return;
      }
!     if (str != "" && str[0] == '!') {
  	sscanf(str, "!%s", cmd);
  	command(cmd);
      } else if (str != "") {
*** room/room.c.orig	Thu Sep 16 20:13:18 1993
--- room/room.c	Fri Aug 20 18:42:01 1993
***************
*** 6,27 ****
   */
  
  /* An array with destinations and directions: "room/church", "north" ... */
! string dest_dir;
  
  /* Short description of the room */
! string short_desc;
  
  /* Long description of the room */
! string long_desc;
  
  /* Special items in the room. "table", "A nice table", "window", "A window" */
! string items;
  
  /* Fact about this room. ex: "no_fight", "no_steal" */
! string property;
  
  /* No castles are allowed to be dropped here */
! int no_castle_flag;
  
  
  init() {
--- 6,27 ----
   */
  
  /* An array with destinations and directions: "room/church", "north" ... */
! static string dest_dir;
  
  /* Short description of the room */
! static string short_desc;
  
  /* Long description of the room */
! static string long_desc;
  
  /* Special items in the room. "table", "A nice table", "window", "A window" */
! static string items;
  
  /* Fact about this room. ex: "no_fight", "no_steal" */
! static string property;
  
  /* No castles are allowed to be dropped here */
! static int no_castle_flag;
  
  
  init() {
***************
*** 140,146 ****
   * Convert a number to a word. The array is being created by the
   * standard room/room, and shared by all rooms.
   */
! string numbers;
  
  convert_number(n) {
      if (!pointerp(numbers))
--- 140,146 ----
   * Convert a number to a word. The array is being created by the
   * standard room/room, and shared by all rooms.
   */
! static string numbers;
  
  convert_number(n) {
      if (!pointerp(numbers))
*** room/storage.c.orig	Mon Oct 15 20:34:37 1990
--- room/storage.c	Wed Aug 11 22:51:55 1993
***************
*** 12,18 ****
      dest_dir = ({"room/shop", "east"});
  }
  
! init(arg)
  {
  	object	ob;
  	int	does_exist;
--- 12,18 ----
      dest_dir = ({"room/shop", "east"});
  }
  
! init()
  {
  	object	ob;
  	int	does_exist;
***************
*** 28,33 ****
  			move_object(ob, this_object());
  		}
  	}
! 	::init(arg);
  }
  
--- 28,33 ----
  			move_object(ob, this_object());
  		}
  	}
! 	::init();
  }