forked from github/server
testing insect warmth potion
This commit is contained in:
parent
462d0118e3
commit
9e239c88f4
|
@ -11,6 +11,38 @@ function setup()
|
|||
eressea.settings.set("magic.regeneration.enable", "0")
|
||||
end
|
||||
|
||||
function test_nestwarmth_insect()
|
||||
local r = region.create(0, 0, "plain")
|
||||
local f = faction.create("noreply@eressea.de", "insect", "de")
|
||||
local u = unit.create(f, r, 1)
|
||||
local flags = u.flags
|
||||
u:add_item("nestwarmth", 2)
|
||||
u:clear_orders()
|
||||
u:add_order("BENUTZEN 1 Nestwaerme")
|
||||
turn_begin()
|
||||
turn_process()
|
||||
assert_equal(flags+64, u.flags) -- UFL_WARMTH
|
||||
assert_equal(1, u:get_item("nestwarmth"))
|
||||
assert_equal(1, f:count_msg_type('usepotion'))
|
||||
turn_end()
|
||||
end
|
||||
|
||||
function test_nestwarmth_other()
|
||||
local r = region.create(0, 0, "plain")
|
||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
||||
local u = unit.create(f, r, 1)
|
||||
local flags = u.flags
|
||||
u:add_item("nestwarmth", 2)
|
||||
u:clear_orders()
|
||||
u:add_order("BENUTZEN 1 Nestwaerme")
|
||||
turn_begin()
|
||||
turn_process()
|
||||
assert_equal(flags, u.flags) -- nothing happens
|
||||
assert_equal(2, u:get_item("nestwarmth"))
|
||||
assert_equal(1, f:count_msg_type('error163'))
|
||||
turn_end()
|
||||
end
|
||||
|
||||
function test_meow()
|
||||
local r = region.create(0, 0, "plain")
|
||||
local f = faction.create("noreply@eressea.de", "human", "de")
|
||||
|
|
|
@ -58,7 +58,7 @@ function test_dreameye()
|
|||
assert_equal(1, u:get_item("dreameye"))
|
||||
assert_equal(1, f:count_msg_type('use_tacticcrystal'))
|
||||
turn_end()
|
||||
assert_equal(nil, u:get_curse('skillmod'))
|
||||
assert_nil(u:get_curse('skillmod'))
|
||||
end
|
||||
|
||||
function test_manacrystal()
|
||||
|
|
21
src/items.c
21
src/items.c
|
@ -389,6 +389,26 @@ use_mistletoe(struct unit *user, const struct item_type *itype, int amount,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int use_warmthpotion(unit *u, const item_type *itype,
|
||||
int amount, struct order *ord)
|
||||
{
|
||||
if (u->faction->race == get_race(RC_INSECT)) {
|
||||
u->flags |= UFL_WARMTH;
|
||||
}
|
||||
else {
|
||||
/* nur fuer insekten: */
|
||||
cmistake(u, ord, 163, MSG_EVENT);
|
||||
return ECUSTOM;
|
||||
}
|
||||
use_pooled(u, itype->rtype, GET_SLACK | GET_RESERVE | GET_POOLED_SLACK,
|
||||
amount);
|
||||
usetpotionuse(u, itype->rtype->ptype);
|
||||
|
||||
ADDMSG(&u->faction->msgs, msg_message("usepotion",
|
||||
"unit potion", u, itype->rtype));
|
||||
return 0;
|
||||
}
|
||||
|
||||
void register_itemfunctions(void)
|
||||
{
|
||||
/* have tests: */
|
||||
|
@ -403,4 +423,5 @@ void register_itemfunctions(void)
|
|||
register_item_use(use_foolpotion, "use_p7");
|
||||
register_item_use(use_bloodpotion, "use_peasantblood");
|
||||
register_item_use(use_healingpotion, "use_ointment");
|
||||
register_item_use(use_warmthpotion, "use_nestwarmth");
|
||||
}
|
||||
|
|
|
@ -726,26 +726,6 @@ struct order *), const char *name)
|
|||
register_function((pf_generic)foo, name);
|
||||
}
|
||||
|
||||
static int use_warmthpotion(unit *u, const item_type *itype,
|
||||
int amount, struct order *ord)
|
||||
{
|
||||
if (u->faction->race == get_race(RC_INSECT)) {
|
||||
fset(u, UFL_WARMTH);
|
||||
}
|
||||
else {
|
||||
/* nur fuer insekten: */
|
||||
cmistake(u, ord, 163, MSG_EVENT);
|
||||
return ECUSTOM;
|
||||
}
|
||||
use_pooled(u, itype->rtype, GET_SLACK | GET_RESERVE | GET_POOLED_SLACK,
|
||||
amount);
|
||||
usetpotionuse(u, itype->rtype->ptype);
|
||||
|
||||
ADDMSG(&u->faction->msgs, msg_message("usepotion",
|
||||
"unit potion", u, itype->rtype));
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
use_magicboost(struct unit *user, const struct item_type *itype, int amount,
|
||||
struct order *ord)
|
||||
|
@ -775,13 +755,6 @@ struct order *ord)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
use_snowball(struct unit *user, const struct item_type *itype, int amount,
|
||||
struct order *ord)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void init_oldpotions(void)
|
||||
{
|
||||
const char *potionnames[MAX_POTIONS] = {
|
||||
|
@ -1113,9 +1086,7 @@ void register_resources(void)
|
|||
register_function((pf_generic)res_changeaura, "changeaura");
|
||||
|
||||
register_item_use(use_potion_delayed, "use_p2");
|
||||
register_item_use(use_warmthpotion, "use_nestwarmth");
|
||||
register_item_use(use_magicboost, "usemagicboost");
|
||||
register_item_use(use_snowball, "usesnowball");
|
||||
|
||||
register_item_give(give_horses, "givehorses");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue