int
v_reveal_mage(struct command *c)
{
	int target = c->a;
	int category = c->b;
	int aura;

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

	if (!cast_check_char_here(c->who, target))
		return FALSE;

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

	if (!category || !magic_skill(category) ||
	    skill_school(category) != category)
	{
		wout(c->who, "%s is not a magical skill category.",
					box_code(category));
		wout(c->who , "Assuming %s.", box_name(sk_basic));

		c->b = sk_basic;
		category = sk_basic;
	}

	wout(c->who, "Attempt to scry the magical abilities of %s within %s.",
				box_name(target), box_name(category));

	return TRUE;
}
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;
}
Esempio n. 3
0
int
v_heal(struct command *c)
{
  int target = c->a;
  int aura;

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

  if (!cast_check_char_here(c->who, target))
    return FALSE;

  if (!char_sick(target)) {
    wout(c->who, "%s is not sick.", box_name(target));
    return FALSE;
  }

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

  return TRUE;
}
Esempio n. 4
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;
}
int
v_detect_abil(struct command *c)
{

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

	wout(c->who, "Will practice ability scry detection.");
	return TRUE;
}
Esempio n. 6
0
int
v_keep_undead(struct command *c)
{
  int target = c->a;

  if (!keep_undead_check(c, TRUE))
    return FALSE;

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

  return TRUE;
}
Esempio n. 7
0
int
v_banish_undead(struct command *c)
{

  if (!keep_undead_check(c, FALSE))
    return FALSE;

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

  if (!cast_check_char_here(c->who, c->a))
    return FALSE;

  return TRUE;
}
Esempio n. 8
0
int
v_save_quick(struct command *c)
{

  if (char_quick_cast(c->who) < 1) {
    wout(c->who, "No stored spell cast speedup.");
    return FALSE;
  }

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

  wout(c->who, "Attempt to save speeded cast state.");
  return TRUE;
}
int
v_dispel_abil(struct command *c)
{
	int target = c->a;

	if (!cast_check_char_here(c->who, target))
		return FALSE;

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

	wout(c->who, "Attempt to dispel any ability shroud from %s.",
					box_name(target));

	return TRUE;
}
Esempio n. 10
0
int
v_quick_cast(struct command *c)
{
  int aura;

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

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

  wout(c->who, "Attempt to speed next spell cast.");

  return TRUE;
}
Esempio n. 11
0
int
v_undead_lord(struct command *c)
{
  int where = subloc(c->who);
  int aura = c->a;

  if (aura < 3)
    c->a = aura = 3;
  if (aura > 8)
    c->a = aura = 8;

  if (!may_cookie_npc(c->who, where, item_undead_cookie))
    return FALSE;

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

  return TRUE;
}
Esempio n. 12
0
int
v_quick_cast(struct command *c)
{
	int aura;

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

	if (aura > 3) {
	  wout(c->who, "You may only speed casting by 3 days.");
	  aura = 3;
	};

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

	wout(c->who, "Attempt to speed next spell cast.");

	return TRUE;
}
Esempio n. 13
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;

  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;
}
Esempio n. 14
0
int
v_hinder_med(struct command *c)
{
	int target = c->a;
	int aura;

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

	if (!cast_check_char_here(c->who, target))
		return FALSE;

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

	wout(c->who, "Attempt to hinder attempts at meditation by %s.",
				box_code(target));

	return TRUE;
}