Ejemplo n.º 1
0
int
v_view_aura(struct command *c)
{
	int aura;
	int where;

	if (c->a < 1)
		c->a = 1;
	aura = c->a;

	if (!check_aura(c->who, aura))
		return FALSE;

	if (crosses_ocean(cast_where(c->who),c->who)) {
	  wout(c->who,"Something seems to block your magic.");
	  return FALSE;
	};

	where = reset_cast_where(c->who);
	c->d = where;

	wout(c->who, "Will scry the current aura ratings of other "
		"mages in %s.", box_name(where));

	return TRUE;
}
Ejemplo n.º 2
0
int
v_scry_region(struct command *c)
{
  int targ_loc = c->a;
  int aura = c->b;

  if (!is_loc_or_ship(targ_loc)) {
    wout(c->who, "%s is not a location.", box_code(targ_loc));
    return FALSE;
  }

  if (crosses_ocean(targ_loc, c->who)) {
    wout(c->who, "Something seems to block your magic.");
    return FALSE;
  };

  if (c->b < 1)
    c->b = 1;
  aura = c->b;

  if (!check_aura(c->who, aura))
    return FALSE;

  return TRUE;
}
Ejemplo n.º 3
0
void
scry_show_where(int who, int target)
{

  if (crosses_ocean(who, target)) {
    out(who, "%s is in %s.", just_name(region(target)));
    return;
  }

  out(who, "%s is in %s.", box_name(province(target)));
}
Ejemplo n.º 4
0
int
cast_check_char_here(int who, int target)
{
  int where;
  int basic;
  int pl;

  basic = char_proj_cast(who);

  if (is_loc_or_ship(basic))
    where = basic;
  else
    where = subloc(who);

#if 1
  p_magic(who)->project_cast = 0;
#endif

  if (crosses_ocean(where, who)) {
    wout(who, "Something seems to block your magic.");
    return FALSE;
  };

  if (kind(target) != T_char || where != subloc(target)) {
    wout(who, "%s is not a character in range of this cast.",
         box_code(target));
    return FALSE;
  }

  if (char_really_hidden(target)) {
    pl = player(who);
    if (pl == player(target))
      return TRUE;

    if (contacted(target, who))
      return TRUE;

    return FALSE;
  }

#if 0
  if (basic == where)
    p_magic(who)->project_cast = 0;
#endif

  return TRUE;
}