forked from github/server
fix the fix_fam_spells function (2585 WIP)
This commit is contained in:
parent
670aa56d4e
commit
1c01f4d083
2 changed files with 12 additions and 0 deletions
|
@ -2268,6 +2268,10 @@ void fix_fam_spells(unit *u) {
|
||||||
sc_mage *dmage;
|
sc_mage *dmage;
|
||||||
unit *du = unit_create(0);
|
unit *du = unit_create(0);
|
||||||
|
|
||||||
|
if (!is_familiar(u)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
u_setrace(du, u_race(u));
|
u_setrace(du, u_race(u));
|
||||||
dmage = create_mage(du, M_GRAY);
|
dmage = create_mage(du, M_GRAY);
|
||||||
equip_familiar(du);
|
equip_familiar(du);
|
||||||
|
|
|
@ -540,11 +540,19 @@ static void test_fix_fam_spells(CuTest *tc) {
|
||||||
CuAssertPtrEquals(tc, NULL, unit_get_spellbook(u));
|
CuAssertPtrEquals(tc, NULL, unit_get_spellbook(u));
|
||||||
CuAssertTrue(tc, !u_hasspell(u, sp));
|
CuAssertTrue(tc, !u_hasspell(u, sp));
|
||||||
callbacks.equip_unit = equip_spell;
|
callbacks.equip_unit = equip_spell;
|
||||||
|
CuAssertTrue(tc, is_familiar(u));
|
||||||
fix_fam_spells(u);
|
fix_fam_spells(u);
|
||||||
|
CuAssertTrue(tc, is_familiar(u));
|
||||||
CuAssertPtrNotNull(tc, unit_get_spellbook(u));
|
CuAssertPtrNotNull(tc, unit_get_spellbook(u));
|
||||||
CuAssertTrue(tc, u_hasspell(u, sp));
|
CuAssertTrue(tc, u_hasspell(u, sp));
|
||||||
|
|
||||||
/* u is a migrant, and does not get equipped: */
|
/* u is a migrant, and does not get equipped: */
|
||||||
|
u = test_create_unit(test_create_faction(NULL), test_create_plain(0, 0));
|
||||||
|
u_setrace(u, rc);
|
||||||
|
CuAssertTrue(tc, !is_familiar(u));
|
||||||
|
fix_fam_spells(u);
|
||||||
|
CuAssertTrue(tc, !is_familiar(u));
|
||||||
|
CuAssertPtrEquals(tc, NULL, unit_get_spellbook(u));
|
||||||
|
|
||||||
test_teardown();
|
test_teardown();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue