Пример #1
0
char *
display_name(int n)
{
	char *s;
	int i;

	if (!valid_box(n))
		return "";

	s = name(n);

	if (s && *s)
		return s;

	switch (kind(n))
	{
	case T_player:		return "Player";
	case T_gate:		return "Gate";
	case T_post:		return "Sign";
	}

	if (i = noble_item(n))
		return cap(plural_item_name(i, 1));

	return cap(subkind_s[subkind(n)]);
}
Пример #2
0
char *
plural_item_box(int item, int qty)
{
	char *s;

	if (qty == 1)
		return box_name(item);

	s = plural_item_name(item, qty);

	if (options.output_tags > 0)
	  return sout("<tag type=box id=%d link=%d>%s~%s</tag type=box id=%d>",
		      item, item,
		      s, box_code(item), item);
	else 
	  return sout("%s~%s", s, box_code(item));
}
Пример #3
0
char *
just_name_qty(int item, int qty)
{

	return sout("%s~%s", nice_num(qty), plural_item_name(item, qty));
}
Пример #4
0
static char *
liner_desc_char(int n)
{
  char buf[LEN];
  extern int show_combat_flag;
  char *s;
  int sk;

  strcpy(buf, box_name(n));

  sk = subkind(n);

  if (sk == sub_ni) {
    int mk = noble_item(n);
    int num = has_item(n, mk) + 1;

    if (num == 1)
      strcat(buf, sout(", %s", plural_item_name(mk, num)));
    else
      strcat(buf, sout(", %s, number:~%s",
                       plural_item_name(mk, num), comma_num(num)));
  }
  else if (sk) {
    if (sk == sub_temple) {
      if (is_temple(n)) {
        strcat(buf, sout(", Temple of %s", god_name(is_temple(n))));
      }
      else {
        strcat(buf, sout(", undedicated temple"));
      };
    }
    else if (sk == sub_guild) {
      strcat(buf, sout(", %s Guild", box_name(is_guild(n))));
    }
    else {
      strcat(buf, sout(", %s", subkind_s[sk]));
    };
  }

  strcat(buf, nation_s(n));
  strcat(buf, deserted_s(n));
  strcat(buf, rank_s(n));
  strcat(buf, mage_s(n));
  strcat(buf, priest_s(n));
#if 0
  strcat(buf, wield_s(n));
#endif

  if (show_combat_flag) {
    if (char_behind(n))
      strcat(buf, sout(", behind~%d%s", char_behind(n), combat_ally));
    else
      strcat(buf, combat_ally);
  }
  else if (char_guard(n) && stack_leader(n) == n &&
           subkind(n) != sub_garrison)
    strcat(buf, ", on guard");

#if 0
  if (subkind(n) == 0) {        /* only show lord for regular players */
    int sp = lord(n);

    if (sp != indep_player && !cloak_lord(n))
      strcat(buf, sout(", of~%s", box_code_less(sp)));
  }
#endif

  if (show_display_string) {
    s = banner(n);

    if (s && *s)
      strcat(buf, sout(", \"%s\"", s));
  }

  strcat(buf, with_inventory_string(n));

  if (is_prisoner(n))
    strcat(buf, ", prisoner");

  return sout("%s", buf);
}