forked from github/server
Merge remote-tracking branch 'eressea/develop' into develop
This commit is contained in:
commit
7cf07e359b
|
@ -6,7 +6,7 @@ if [ -z $ERESSEA ]; then
|
|||
fi
|
||||
|
||||
GAME=$ERESSEA/game-$1
|
||||
GAME_NAME=$(grep name $GAME/eressea.ini | sed 's/.*=\s*//')
|
||||
GAME_NAME=$(grep -w name $GAME/eressea.ini | sed 's/.*=\s*//')
|
||||
|
||||
TURN=$2
|
||||
if [ -z $TURN ]
|
||||
|
|
|
@ -461,8 +461,8 @@ int teach_cmd(unit * u, struct order *ord)
|
|||
* Lehrer seines Gebietes */
|
||||
sc_mage *mage1 = get_mage(u);
|
||||
sc_mage *mage2 = get_mage(u2);
|
||||
if (!mage2 || !mage1 || (mage2->magietyp != M_GRAY
|
||||
&& mage1->magietyp != mage2->magietyp)) {
|
||||
if (mage2 && mage1 && mage2->magietyp != M_GRAY
|
||||
&& mage1->magietyp != mage2->magietyp) {
|
||||
if (feedback) {
|
||||
ADDMSG(&u->faction->msgs, msg_feedback(u, ord,
|
||||
"error_different_magic", "target", u2));
|
||||
|
|
|
@ -385,6 +385,34 @@ static void test_study_cost(CuTest *tc) {
|
|||
test_cleanup();
|
||||
}
|
||||
|
||||
static void test_teach_magic(CuTest *tc) {
|
||||
unit *u, *ut;
|
||||
faction *f;
|
||||
const struct item_type *itype;
|
||||
|
||||
test_setup();
|
||||
init_resources();
|
||||
itype = get_resourcetype(R_SILVER)->itype;
|
||||
f = test_create_faction(0);
|
||||
f->magiegebiet = M_GWYRRD;
|
||||
u = test_create_unit(f, test_create_region(0, 0, 0));
|
||||
u->thisorder = create_order(K_STUDY, f->locale, "%s", skillnames[SK_MAGIC]);
|
||||
i_change(&u->items, itype, study_cost(u, SK_MAGIC));
|
||||
ut = test_create_unit(f, u->region);
|
||||
set_level(ut, SK_MAGIC, TEACHDIFFERENCE);
|
||||
create_mage(ut, M_GWYRRD);
|
||||
ut->thisorder = create_order(K_TEACH, f->locale, "%s", itoa36(u->no));
|
||||
learn_inject();
|
||||
teach_cmd(ut, ut->thisorder);
|
||||
study_cmd(u, u->thisorder);
|
||||
learn_reset();
|
||||
CuAssertPtrEquals(tc, u, log_learners[0].u);
|
||||
CuAssertIntEquals(tc, SK_MAGIC, log_learners[0].sk);
|
||||
CuAssertIntEquals(tc, STUDYDAYS*2, log_learners[0].days);
|
||||
CuAssertIntEquals(tc, 0, i_get(u->items, itype));
|
||||
test_cleanup();
|
||||
}
|
||||
|
||||
static void test_teach_cmd(CuTest *tc) {
|
||||
unit *u, *ut;
|
||||
test_setup();
|
||||
|
@ -596,6 +624,7 @@ CuSuite *get_study_suite(void)
|
|||
SUITE_ADD_TEST(suite, test_study_cost);
|
||||
SUITE_ADD_TEST(suite, test_study_magic);
|
||||
SUITE_ADD_TEST(suite, test_teach_cmd);
|
||||
SUITE_ADD_TEST(suite, test_teach_magic);
|
||||
SUITE_ADD_TEST(suite, test_teach_two);
|
||||
SUITE_ADD_TEST(suite, test_teach_one_to_many);
|
||||
SUITE_ADD_TEST(suite, test_teach_many_to_one);
|
||||
|
|
Loading…
Reference in New Issue