::item "GroundComfrey" "Water"::
::->ratio:: 1.0/400
::->result:: LIQUID_OBJ
::->result_amt:: 1.0
::->func:: ({
(: $3->set_name("tea") :),
(: $3->set_short("pale tea") :),
(: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
(: $3->set_medium_alias("ComfreyTea") :),
function(object obj_a, object obj_b, object obj_x, object env,
object env2, int amt_a, int amt_b) {
int x = this_player()->query_skill_bonus(
"magic.methods.physical.brewing")/10;
if (x > 200) x = 200;
obj_x->add_eat_effect("/std/effects/ingested/basic_healing", x);
x = (obj_a->query_amount() - amt_a) * 800 / obj_x->query_amount();
if (x > 0) obj_x->add_eat_effect(
"/std/effects/ingested/cum_poison", x);
}
})
::item "ComfreyTea" "GroundYarrow"::
::->ratio:: ({ 400.0, 2400.0 })
::->result:: LIQUID_OBJ
::->result_amt:: 1.0
::->func:: ({
(: $3->set_name("tea") :),
(: $3->set_short("pale tea") :),
(: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
(: $3->set_medium_alias("ComfreyYarrowTea") :),
# I wanted this to be based on the amount added, but there's a bug...
function(object obj_a, object obj_b, object obj_x, object env,
object env2, int amt_a, int amt_b) {
int x = obj_a->query_eat_effects()[
"/std/effects/ingested/basic_healing"]
* this_player()->query_skill_bonus(
"magic.methods.physical.brewing")/10;
if (x > 400) x = 400;
obj_x->add_eat_effect("/std/effects/ingested/basic_healing", x);
x = (obj_b->query_amount() - amt_b) + 1;
x *= obj_a->query_eat_effects()["/std/effects/ingested/cum_poison"];
if (x > 0) obj_x->add_eat_effect(
"/std/effects/ingested/cum_poison", x);
}
})