From 9e239c88f486218739d5052aafde7b2a43407e69 Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Mon, 27 Feb 2017 20:26:48 +0100 Subject: [PATCH] testing insect warmth potion --- scripts/tests/e2/items.lua | 32 ++++++++++++++++++++++++++++++++ scripts/tests/items.lua | 2 +- src/items.c | 21 +++++++++++++++++++++ src/kernel/item.c | 29 ----------------------------- 4 files changed, 54 insertions(+), 30 deletions(-) diff --git a/scripts/tests/e2/items.lua b/scripts/tests/e2/items.lua index 93c88790f..24f27f4b2 100644 --- a/scripts/tests/e2/items.lua +++ b/scripts/tests/e2/items.lua @@ -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") diff --git a/scripts/tests/items.lua b/scripts/tests/items.lua index f82aa9e7b..aad52c2b2 100644 --- a/scripts/tests/items.lua +++ b/scripts/tests/items.lua @@ -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() diff --git a/src/items.c b/src/items.c index f8739cb73..51a4b2970 100644 --- a/src/items.c +++ b/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"); } diff --git a/src/kernel/item.c b/src/kernel/item.c index 1692ed706..8d5224d79 100644 --- a/src/kernel/item.c +++ b/src/kernel/item.c @@ -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"); }