Go to the documentation of this file.
57 for (
x = 0;
x < 5; ++
x)
59 for (
y = 0;
y < 5; ++
y)
62 fail_unless(
floor != NULL,
"cannot find arch battleground");
68 fail_unless(
monster != NULL,
"failed to find arch kobold");
72 fail_unless(
monster->other_arch != NULL,
"Could not find other_arch to transform object %s.",
monster->name);
77 fail_unless(
monster !=
tmp,
"We got the same object back when we should have gotten a new one!");
82 fail_unless(
monster->other_arch != NULL,
"Could not find other_arch to transform object %s.",
monster->name);
85 fail_unless(
monster !=
tmp,
"We got the same object back when we should have gotten a new one!");
90 fail_unless(
monster->other_arch != NULL,
"Could not find other_arch to transform object %s.",
monster->name);
93 fail_unless(
monster !=
tmp,
"We got the same object back when we should have gotten a new one!");
98 fail_unless(
monster->other_arch != NULL,
"Could not find other_arch to transform object %s.",
monster->name);
101 fail_unless(
monster !=
tmp,
"We got the same object back when we should have gotten a new one!");
106 fail_unless(
monster->other_arch != NULL,
"Could not find other_arch to transform object %s.",
monster->name);
109 fail_unless(
monster ==
tmp,
"We expected to get the same monster, but got a different one.");
141 for (
int x = 0;
x < 5; ++
x)
142 for (
int y = 0;
y < 5; ++
y)
150 goto no_more_looping;
155 fail_unless(
op != NULL,
"Could not find new object %s in the map.", new_name);
160 Suite *s = suite_create(
"change_monster");
161 TCase *tc_core = tcase_create(
"Core");
166 suite_add_tcase(s, tc_core);
167 tcase_add_test(tc_core, test_monster_change);
175 SRunner *sr= srunner_create(s);
178 srunner_set_fork_status (sr, CK_NOFORK);
184 srunner_set_xml(sr, LOGDIR
"/unit/server/monster_change.xml");
185 srunner_set_log(sr, LOGDIR
"/unit/server/monster_change.out");
186 srunner_run_all(sr, CK_ENV);
187 nf = srunner_ntests_failed(sr);
189 return (nf == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
mapstruct * get_empty_map(int sizex, int sizey)
#define QUERY_FLAG(xyz, p)
the faster the spell may be cast there are several other common only the caster may be affected by the spell The most common spell range is that of touch This denotes that the caster much touch the recipient of the spell in order to release the spell monster
pluglist shows those as well as a short text describing each the list will simply appear empty The keyword for the Python plugin is Python plugout< keyword > Unloads a given identified by its _keyword_ So if you want to unload the Python you need to do plugout Python plugin< libname > Loads a given whose _filename_ is libname So in the case of you d have to do a plugin cfpython so Note that all filenames are relative to the default plugin it tries to load all available files in the SHARE plugins directory as plugin libraries It first displays the Initializing the plugin has the opportunity to signal itself by a message on the console Then the server displays an informative message containing both the plugin content and its keyword For the Python the standard load process thus GreenGoblin When a plugin has been it can request to be warned whenever a global event and are named freely by the developer If the directory doesn t nothing will happen< event name > can be init
static object * do_monster_change(object *op, mapstruct *map, short expect, const char *new_name)
object * map_find_by_flag(mapstruct *map, int x, int y, int flag)
object * object_insert_in_map_at(object *op, mapstruct *m, object *originator, int flag, int x, int y)
object * create_archetype(const char *name)
START_TEST(test_monster_change)
Magical Runes Runes are magical inscriptions on the dungeon floor
archetype * find_archetype(const char *name)
static void teardown(void)
void change_object(object *op)
static Suite * change_suite(void)