forked from github/server
Merge pull request #106 from badgerman/master
fix magicstreets (Bug 2066) and dreams (Bug 1511)
This commit is contained in:
commit
9404afa4ea
|
@ -43,7 +43,7 @@ static void test_magicstreet(CuTest *tc) {
|
|||
curse_fixture fix;
|
||||
message *msg;
|
||||
setup_curse(&fix, "magicstreet");
|
||||
fix.c->duration = 3;
|
||||
fix.c->duration = 2;
|
||||
msg = fix.c->type->curseinfo(fix.r, TYP_REGION, fix.c, 0);
|
||||
CuAssertStrEquals(tc, "curseinfo::magicstreet", test_get_messagetype(msg));
|
||||
msg_release(msg);
|
||||
|
@ -54,18 +54,42 @@ static void test_magicstreet_warning(CuTest *tc) {
|
|||
curse_fixture fix;
|
||||
message *msg;
|
||||
setup_curse(&fix, "magicstreet");
|
||||
fix.c->duration = 2;
|
||||
fix.c->duration = 1;
|
||||
msg = fix.c->type->curseinfo(fix.r, TYP_REGION, fix.c, 0);
|
||||
CuAssertStrEquals(tc, "curseinfo::magicstreetwarn", test_get_messagetype(msg));
|
||||
msg_release(msg);
|
||||
test_cleanup();
|
||||
}
|
||||
|
||||
static void test_good_dreams(CuTest *tc) {
|
||||
curse_fixture fix;
|
||||
message *msg;
|
||||
setup_curse(&fix, "gbdream");
|
||||
fix.c->effect = 1;
|
||||
msg = fix.c->type->curseinfo(fix.r, TYP_REGION, fix.c, 0);
|
||||
CuAssertStrEquals(tc, "curseinfo::gooddream", test_get_messagetype(msg));
|
||||
msg_release(msg);
|
||||
test_cleanup();
|
||||
}
|
||||
|
||||
static void test_bad_dreams(CuTest *tc) {
|
||||
curse_fixture fix;
|
||||
message *msg;
|
||||
setup_curse(&fix, "gbdream");
|
||||
fix.c->effect = -1;
|
||||
msg = fix.c->type->curseinfo(fix.r, TYP_REGION, fix.c, 0);
|
||||
CuAssertStrEquals(tc, "curseinfo::baddream", test_get_messagetype(msg));
|
||||
msg_release(msg);
|
||||
test_cleanup();
|
||||
}
|
||||
|
||||
CuSuite *get_curse_suite(void)
|
||||
{
|
||||
CuSuite *suite = CuSuiteNew();
|
||||
SUITE_ADD_TEST(suite, test_curse);
|
||||
SUITE_ADD_TEST(suite, test_magicstreet);
|
||||
SUITE_ADD_TEST(suite, test_magicstreet_warning);
|
||||
SUITE_ADD_TEST(suite, test_good_dreams);
|
||||
SUITE_ADD_TEST(suite, test_bad_dreams);
|
||||
return suite;
|
||||
}
|
||||
|
|
|
@ -74,10 +74,11 @@ static message *cinfo_dreamcurse(const void *obj, objtype_t typ, const curse * c
|
|||
unused_arg(obj);
|
||||
assert(typ == TYP_REGION);
|
||||
|
||||
if (curse_geteffect(c) > 0) {
|
||||
if (c->effect > 0) {
|
||||
return msg_message("curseinfo::gooddream", "id", c->no);
|
||||
}
|
||||
} else {
|
||||
return msg_message("curseinfo::baddream", "id", c->no);
|
||||
}
|
||||
}
|
||||
|
||||
static struct curse_type ct_gbdream = {
|
||||
|
@ -99,7 +100,7 @@ static message *cinfo_magicstreet(const void *obj, objtype_t typ, const curse *
|
|||
assert(typ == TYP_REGION);
|
||||
|
||||
/* Warnung vor Auflösung */
|
||||
if (c->duration <= 2) {
|
||||
if (c->duration >= 2) {
|
||||
return msg_message("curseinfo::magicstreet", "id", c->no);
|
||||
}
|
||||
return msg_message("curseinfo::magicstreetwarn", "id", c->no);
|
||||
|
|
|
@ -13,6 +13,7 @@ extern "C" {
|
|||
struct faction;
|
||||
struct building;
|
||||
struct ship;
|
||||
struct message;
|
||||
struct item_type;
|
||||
struct building_type;
|
||||
struct ship_type;
|
||||
|
|
Loading…
Reference in New Issue