::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); } })