Exemple #1
0
void test_hasspell(CuTest * tc)
{
  spell *sp;
  struct unit * u;
  struct faction * f;
  struct region * r;

  test_cleanup();
  test_create_world();
  r = findregion(0, 0);
  f = test_create_faction(0);
  f->magiegebiet = M_TYBIED;
  u = test_create_unit(f, r);
  skill_enabled[SK_MAGIC] = 1;
  sp = create_spell("testspell", 0);
  sp->sptyp |= POSTCOMBATSPELL;

  unit_add_spell(u, 0, sp, 2);

  set_level(u, SK_MAGIC, 1);
  CuAssertTrue(tc, !u_hasspell(u, sp));

  set_level(u, SK_MAGIC, 2);
  CuAssertTrue(tc, u_hasspell(u, sp));

  set_level(u, SK_MAGIC, 1);
  CuAssertTrue(tc, !u_hasspell(u, sp));
}
Exemple #2
0
void test_equipment(CuTest * tc)
{
  equipment * eq;
  unit * u;
  const item_type * it_horses;
  spell *sp;
  sc_mage * mage;
  
  test_cleanup();
  test_create_race("human");
  enable_skill(SK_MAGIC, true);
  it_horses = test_create_itemtype("horse");
  CuAssertPtrNotNull(tc, it_horses);
  sp = create_spell("testspell", 0);
  CuAssertPtrNotNull(tc, sp);

  CuAssertPtrEquals(tc, 0, get_equipment("herpderp"));
  eq = create_equipment("herpderp");
  CuAssertPtrEquals(tc, eq, get_equipment("herpderp"));

  equipment_setitem(eq, it_horses, "1");
  equipment_setskill(eq, SK_MAGIC, "5");
  equipment_addspell(eq, sp, 1);

  u = test_create_unit(0, 0);
  equip_unit_mask(u, eq, EQUIP_ALL);
  CuAssertIntEquals(tc, 1, i_get(u->items, it_horses));
  CuAssertIntEquals(tc, 5, get_level(u, SK_MAGIC));

  mage = get_mage(u);
  CuAssertPtrNotNull(tc, mage);
  CuAssertPtrNotNull(tc, mage->spellbook);
  CuAssertTrue(tc, u_hasspell(u, sp));
}