dw_fluffos_v2/
dw_fluffos_v2/fluffos-2.9-ds2.05/
dw_fluffos_v2/fluffos-2.9-ds2.05/ChangeLog.old/
dw_fluffos_v2/fluffos-2.9-ds2.05/Win32/
dw_fluffos_v2/fluffos-2.9-ds2.05/compat/
dw_fluffos_v2/fluffos-2.9-ds2.05/compat/simuls/
dw_fluffos_v2/fluffos-2.9-ds2.05/include/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/clone/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/command/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/data/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/etc/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/include/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/inherit/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/inherit/master/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/log/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/single/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/single/tests/compiler/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/single/tests/efuns/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/single/tests/operators/
dw_fluffos_v2/fluffos-2.9-ds2.05/testsuite/u/
dw_fluffos_v2/fluffos-2.9-ds2.05/tmp/
dw_fluffos_v2/fluffos-2.9-ds2.05/windows/
dw_fluffos_v2/lib/
dw_fluffos_v2/lib/binaries/cmds/
dw_fluffos_v2/lib/binaries/cmds/creator/
dw_fluffos_v2/lib/binaries/cmds/living/
dw_fluffos_v2/lib/binaries/cmds/player/
dw_fluffos_v2/lib/binaries/d/admin/obj/
dw_fluffos_v2/lib/binaries/d/liaison/
dw_fluffos_v2/lib/binaries/global/virtual/
dw_fluffos_v2/lib/binaries/global/virtual/setup_compiler/
dw_fluffos_v2/lib/binaries/obj/handlers/autodoc/
dw_fluffos_v2/lib/binaries/obj/handlers/terrain_things/
dw_fluffos_v2/lib/binaries/obj/misc/
dw_fluffos_v2/lib/binaries/obj/misc/buckets/
dw_fluffos_v2/lib/binaries/obj/monster/
dw_fluffos_v2/lib/binaries/obj/reactions/
dw_fluffos_v2/lib/binaries/obj/reagents/
dw_fluffos_v2/lib/binaries/secure/cmds/creator/
dw_fluffos_v2/lib/binaries/secure/master/
dw_fluffos_v2/lib/binaries/std/
dw_fluffos_v2/lib/binaries/std/dom/
dw_fluffos_v2/lib/binaries/std/effects/object/
dw_fluffos_v2/lib/binaries/std/guilds/
dw_fluffos_v2/lib/binaries/std/languages/
dw_fluffos_v2/lib/binaries/std/races/
dw_fluffos_v2/lib/binaries/std/room/
dw_fluffos_v2/lib/binaries/std/room/basic/
dw_fluffos_v2/lib/binaries/std/shops/
dw_fluffos_v2/lib/binaries/std/shops/inherit/
dw_fluffos_v2/lib/binaries/www/
dw_fluffos_v2/lib/cmds/guild-race/
dw_fluffos_v2/lib/cmds/guild-race/crafts/
dw_fluffos_v2/lib/cmds/guild-race/other/
dw_fluffos_v2/lib/cmds/playtester/
dw_fluffos_v2/lib/cmds/playtester/senior/
dw_fluffos_v2/lib/d/admin/
dw_fluffos_v2/lib/d/admin/log/
dw_fluffos_v2/lib/d/admin/mapper/31-10-01/mapmaker/event/
dw_fluffos_v2/lib/d/admin/meetings/
dw_fluffos_v2/lib/d/admin/obj/
dw_fluffos_v2/lib/d/admin/room/we_care/
dw_fluffos_v2/lib/d/admin/save/
dw_fluffos_v2/lib/d/dist/
dw_fluffos_v2/lib/d/dist/mtf/
dw_fluffos_v2/lib/d/dist/pumpkin/
dw_fluffos_v2/lib/d/dist/pumpkin/chars/
dw_fluffos_v2/lib/d/dist/pumpkin/desert/
dw_fluffos_v2/lib/d/dist/pumpkin/gumboot/
dw_fluffos_v2/lib/d/dist/pumpkin/hospital/
dw_fluffos_v2/lib/d/dist/pumpkin/inherit/
dw_fluffos_v2/lib/d/dist/pumpkin/map/
dw_fluffos_v2/lib/d/dist/pumpkin/plain/
dw_fluffos_v2/lib/d/dist/pumpkin/pumpkin/
dw_fluffos_v2/lib/d/dist/pumpkin/save/
dw_fluffos_v2/lib/d/dist/pumpkin/squash/
dw_fluffos_v2/lib/d/dist/pumpkin/terrain/
dw_fluffos_v2/lib/d/dist/pumpkin/woods/
dw_fluffos_v2/lib/d/dist/start/
dw_fluffos_v2/lib/d/learning/TinyTown/buildings/
dw_fluffos_v2/lib/d/learning/TinyTown/map/
dw_fluffos_v2/lib/d/learning/TinyTown/roads/
dw_fluffos_v2/lib/d/learning/add_command/
dw_fluffos_v2/lib/d/learning/arms_and_weps/
dw_fluffos_v2/lib/d/learning/chars/
dw_fluffos_v2/lib/d/learning/cutnpaste/
dw_fluffos_v2/lib/d/learning/examples/npcs/
dw_fluffos_v2/lib/d/learning/examples/player_houses/npcs/
dw_fluffos_v2/lib/d/learning/examples/terrain_map/basic/
dw_fluffos_v2/lib/d/learning/functions/
dw_fluffos_v2/lib/d/learning/handlers/
dw_fluffos_v2/lib/d/learning/help_topics/npcs/
dw_fluffos_v2/lib/d/learning/help_topics/objects/
dw_fluffos_v2/lib/d/learning/help_topics/rcs_demo/
dw_fluffos_v2/lib/d/learning/help_topics/rooms/
dw_fluffos_v2/lib/d/learning/help_topics/rooms/crowd/
dw_fluffos_v2/lib/d/learning/help_topics/rooms/situations/
dw_fluffos_v2/lib/d/learning/items/
dw_fluffos_v2/lib/d/learning/save/
dw_fluffos_v2/lib/d/liaison/
dw_fluffos_v2/lib/d/liaison/NEWBIE/doc/
dw_fluffos_v2/lib/d/liaison/NEWBIE/save/oldlog/
dw_fluffos_v2/lib/db/
dw_fluffos_v2/lib/doc/
dw_fluffos_v2/lib/doc/creator/
dw_fluffos_v2/lib/doc/creator/autodoc/include/reaction/
dw_fluffos_v2/lib/doc/creator/autodoc/include/ritual_system/
dw_fluffos_v2/lib/doc/creator/autodoc/include/talker/
dw_fluffos_v2/lib/doc/creator/autodoc/include/terrain_map/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/baggage/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/clock/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/clothing/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/cont_save/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/corpse/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/money/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/monster/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/scabbard/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/service_provider/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/state_changer/
dw_fluffos_v2/lib/doc/creator/autodoc/obj/wand/
dw_fluffos_v2/lib/doc/creator/autodoc/std/book_dir/
dw_fluffos_v2/lib/doc/creator/autodoc/std/key/
dw_fluffos_v2/lib/doc/creator/autodoc/std/learning/
dw_fluffos_v2/lib/doc/creator/autodoc/std/map/
dw_fluffos_v2/lib/doc/creator/autodoc/std/race/
dw_fluffos_v2/lib/doc/creator/autodoc/std/weapon_logic/
dw_fluffos_v2/lib/doc/creator/files/
dw_fluffos_v2/lib/doc/creator/policy/
dw_fluffos_v2/lib/doc/creator/room/
dw_fluffos_v2/lib/doc/effects/
dw_fluffos_v2/lib/doc/ideas/
dw_fluffos_v2/lib/doc/known_command/
dw_fluffos_v2/lib/doc/lpc/basic_manual/
dw_fluffos_v2/lib/doc/lpc/intermediate/
dw_fluffos_v2/lib/doc/new/add_command/
dw_fluffos_v2/lib/doc/new/handlers/
dw_fluffos_v2/lib/doc/new/living/
dw_fluffos_v2/lib/doc/new/living/race/
dw_fluffos_v2/lib/doc/new/living/spells/
dw_fluffos_v2/lib/doc/new/player/
dw_fluffos_v2/lib/doc/new/room/guild/
dw_fluffos_v2/lib/doc/new/room/outside/
dw_fluffos_v2/lib/doc/new/room/storeroom/
dw_fluffos_v2/lib/doc/object/
dw_fluffos_v2/lib/doc/playtesters/
dw_fluffos_v2/lib/doc/policy/
dw_fluffos_v2/lib/doc/weapons/
dw_fluffos_v2/lib/global/handlers/
dw_fluffos_v2/lib/global/virtual/setup_compiler/
dw_fluffos_v2/lib/include/
dw_fluffos_v2/lib/include/cmds/
dw_fluffos_v2/lib/include/effects/
dw_fluffos_v2/lib/include/npc/
dw_fluffos_v2/lib/include/shops/
dw_fluffos_v2/lib/net/daemon/chars/
dw_fluffos_v2/lib/net/inherit/
dw_fluffos_v2/lib/net/intermud3/
dw_fluffos_v2/lib/net/intermud3/services/
dw_fluffos_v2/lib/net/obj/
dw_fluffos_v2/lib/net/save/
dw_fluffos_v2/lib/net/smnmp/
dw_fluffos_v2/lib/net/snmp/
dw_fluffos_v2/lib/obj/amulets/
dw_fluffos_v2/lib/obj/b_day/
dw_fluffos_v2/lib/obj/examples/
dw_fluffos_v2/lib/obj/food/alcohol/
dw_fluffos_v2/lib/obj/food/chocolates/
dw_fluffos_v2/lib/obj/food/fruits/
dw_fluffos_v2/lib/obj/food/meat/
dw_fluffos_v2/lib/obj/food/nuts/
dw_fluffos_v2/lib/obj/food/seafood/
dw_fluffos_v2/lib/obj/food/vegetables/
dw_fluffos_v2/lib/obj/fungi/
dw_fluffos_v2/lib/obj/furnitures/artwork/
dw_fluffos_v2/lib/obj/furnitures/bathroom/
dw_fluffos_v2/lib/obj/furnitures/beds/
dw_fluffos_v2/lib/obj/furnitures/cabinets/
dw_fluffos_v2/lib/obj/furnitures/chairs/
dw_fluffos_v2/lib/obj/furnitures/chests/
dw_fluffos_v2/lib/obj/furnitures/clocks/
dw_fluffos_v2/lib/obj/furnitures/crockery/
dw_fluffos_v2/lib/obj/furnitures/cupboards/
dw_fluffos_v2/lib/obj/furnitures/cushions/
dw_fluffos_v2/lib/obj/furnitures/fake_plants/
dw_fluffos_v2/lib/obj/furnitures/lamps/
dw_fluffos_v2/lib/obj/furnitures/mirrors/
dw_fluffos_v2/lib/obj/furnitures/outdoor/
dw_fluffos_v2/lib/obj/furnitures/safes/
dw_fluffos_v2/lib/obj/furnitures/shelves/
dw_fluffos_v2/lib/obj/furnitures/sideboards/
dw_fluffos_v2/lib/obj/furnitures/sofas/
dw_fluffos_v2/lib/obj/furnitures/stoves/
dw_fluffos_v2/lib/obj/furnitures/tables/
dw_fluffos_v2/lib/obj/furnitures/wardrobes/
dw_fluffos_v2/lib/obj/handlers/
dw_fluffos_v2/lib/obj/handlers/autodoc/
dw_fluffos_v2/lib/obj/jewellery/anklets/
dw_fluffos_v2/lib/obj/jewellery/bracelets/
dw_fluffos_v2/lib/obj/jewellery/earrings/
dw_fluffos_v2/lib/obj/jewellery/misc/
dw_fluffos_v2/lib/obj/jewellery/necklaces/
dw_fluffos_v2/lib/obj/jewellery/rings/
dw_fluffos_v2/lib/obj/media/
dw_fluffos_v2/lib/obj/misc/buckets/
dw_fluffos_v2/lib/obj/misc/jars/
dw_fluffos_v2/lib/obj/misc/papers/
dw_fluffos_v2/lib/obj/misc/player_shop/
dw_fluffos_v2/lib/obj/misc/shops/
dw_fluffos_v2/lib/obj/misc/traps/
dw_fluffos_v2/lib/obj/monster/
dw_fluffos_v2/lib/obj/monster/godmother/
dw_fluffos_v2/lib/obj/monster/transport/
dw_fluffos_v2/lib/obj/plants/inherit/
dw_fluffos_v2/lib/obj/potions/
dw_fluffos_v2/lib/open/boards/
dw_fluffos_v2/lib/save/autodoc/
dw_fluffos_v2/lib/save/bank_accounts/
dw_fluffos_v2/lib/save/boards/frog/
dw_fluffos_v2/lib/save/books/bed_catalog/
dw_fluffos_v2/lib/save/creators/
dw_fluffos_v2/lib/save/mail/
dw_fluffos_v2/lib/save/mail/p/
dw_fluffos_v2/lib/save/soul/data/
dw_fluffos_v2/lib/save/tasks/
dw_fluffos_v2/lib/save/vaults/
dw_fluffos_v2/lib/secure/cmds/lord/
dw_fluffos_v2/lib/secure/config/
dw_fluffos_v2/lib/secure/items/
dw_fluffos_v2/lib/secure/player/
dw_fluffos_v2/lib/soul/
dw_fluffos_v2/lib/soul/i/
dw_fluffos_v2/lib/soul/j/
dw_fluffos_v2/lib/soul/k/
dw_fluffos_v2/lib/soul/o/
dw_fluffos_v2/lib/soul/q/
dw_fluffos_v2/lib/soul/to_approve/
dw_fluffos_v2/lib/soul/u/
dw_fluffos_v2/lib/soul/v/
dw_fluffos_v2/lib/soul/wish_list/
dw_fluffos_v2/lib/soul/y/
dw_fluffos_v2/lib/soul/z/
dw_fluffos_v2/lib/std/creator/
dw_fluffos_v2/lib/std/effects/
dw_fluffos_v2/lib/std/effects/attached/
dw_fluffos_v2/lib/std/effects/external/
dw_fluffos_v2/lib/std/effects/fighting/
dw_fluffos_v2/lib/std/effects/other/
dw_fluffos_v2/lib/std/environ/
dw_fluffos_v2/lib/std/guilds/
dw_fluffos_v2/lib/std/hospital/
dw_fluffos_v2/lib/std/house/
dw_fluffos_v2/lib/std/house/onebedhouse/
dw_fluffos_v2/lib/std/house/onebedhut/
dw_fluffos_v2/lib/std/house/tworoomflat/
dw_fluffos_v2/lib/std/languages/
dw_fluffos_v2/lib/std/liquids/
dw_fluffos_v2/lib/std/nationality/
dw_fluffos_v2/lib/std/nationality/accents/
dw_fluffos_v2/lib/std/nationality/accents/national/
dw_fluffos_v2/lib/std/nationality/accents/regional/
dw_fluffos_v2/lib/std/npc/goals/
dw_fluffos_v2/lib/std/npc/goals/basic/
dw_fluffos_v2/lib/std/npc/goals/misc/
dw_fluffos_v2/lib/std/npc/inherit/
dw_fluffos_v2/lib/std/npc/plans/
dw_fluffos_v2/lib/std/npc/plans/basic/
dw_fluffos_v2/lib/std/outsides/
dw_fluffos_v2/lib/std/races/shadows/
dw_fluffos_v2/lib/std/room/basic/topography/
dw_fluffos_v2/lib/std/room/controller/
dw_fluffos_v2/lib/std/room/controller/topography/
dw_fluffos_v2/lib/std/room/furniture/games/
dw_fluffos_v2/lib/std/room/furniture/inherit/
dw_fluffos_v2/lib/std/room/inherit/carriage/
dw_fluffos_v2/lib/std/room/inherit/topography/
dw_fluffos_v2/lib/std/room/punishments/
dw_fluffos_v2/lib/std/room/topography/area/
dw_fluffos_v2/lib/std/room/topography/iroom/
dw_fluffos_v2/lib/std/room/topography/milestone/
dw_fluffos_v2/lib/std/shadows/
dw_fluffos_v2/lib/std/shadows/attached/
dw_fluffos_v2/lib/std/shadows/curses/
dw_fluffos_v2/lib/std/shadows/disease/
dw_fluffos_v2/lib/std/shadows/fighting/
dw_fluffos_v2/lib/std/shadows/room/
dw_fluffos_v2/lib/std/shops/controllers/
dw_fluffos_v2/lib/std/shops/objs/
dw_fluffos_v2/lib/std/shops/player_shop/
dw_fluffos_v2/lib/std/shops/player_shop/office_code/
dw_fluffos_v2/lib/std/socket/
dw_fluffos_v2/lib/www/
dw_fluffos_v2/lib/www/external/autodoc/
dw_fluffos_v2/lib/www/external/java/telnet/Documentation/
dw_fluffos_v2/lib/www/external/java/telnet/Documentation/images/
dw_fluffos_v2/lib/www/external/java/telnet/examples/
dw_fluffos_v2/lib/www/external/java/telnet/tools/
dw_fluffos_v2/lib/www/pics/
dw_fluffos_v2/lib/www/secure/creator/
dw_fluffos_v2/lib/www/secure/editors/
dw_fluffos_v2/lib/www/secure/survey_results/
dw_fluffos_v2/win32/
#include <reaction.h>
void dest_me() { destruct( this_object() ); }
mixed data_return() {
  class reaction item;
  mapping data = ([ ]);

  if (!mapp(data["GroundDeadlyNightshade"])) data["GroundDeadlyNightshade"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/600, 1.0/1000 });
  item->result = "/obj/reagents/transient_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->set_progress_msg( ({
            ({0, 0}),
            ({0, 0}),
            ({"The liquid in the @@short:#env#@@ darkens slightly.\n", ({
                "set_medium_alias:#obj#|TransientCoffee"})}),
            ({0, 0}),
            ({0, 0})
            }) ) :),
        (: $3->set_medium_alias("PreTransientCoffee") :),
        (: $3->add_eat_effect("/std/effects/ingested/poison.c", 10) :),
        (: $3->set_duration(30) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/poison_coffee.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PoisonCoffee") :),
        (: $3->set_continuous() :),
        (: $3->set_liquid() :),
        (: $3->start_reaction() :)
    });
  data["GroundDeadlyNightshade"]["LiquidCoffee"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/panic.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PanicPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPanic"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/perception.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PerceptionPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPerception"] = item;
  if (!mapp(data["GroundCoffee"])) data["GroundCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/60, 1.0/40 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->add_plural("coffee") :),
        (: $3->set_medium_alias("LiquidCoffee") :),
        (: tell_room($5, "The " + $2->short() + " in " + $4->the_short() +
            " turns brown.\n") :),
        (: $3->set_medium_alias("LiquidCoffee") :)
    });
  data["GroundCoffee"]["Water"] = item;
  if (!mapp(data["GroundComfreyLeaf"])) data["GroundComfreyLeaf"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfreyLeaf"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * 2 * $2->query_amount())
        :)
    });
  data["ComfreyTea"]["GroundYarrowLeaf"] = item;
  if (!mapp(data["GroundWildGarlic"])) data["GroundWildGarlic"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
     (: $3->set_name( "cure" ) :),
     (: $3->set_short( "cold cure" ) :),
     (: $3->set_long( "This is a cold curing syrup.") :),
     (: $3->set_medium_alias( "ColdCureSyrup" ) :),
     (: $3->add_eat_effect("/std/effects/healing/cold_remedy",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")*10) :),
     (: $3->add_eat_effect("/std/effects/ingested/garlic_breath",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")) :)
   });
  data["GroundWildGarlic"]["Honey"] = item;
  if (!mapp(data["GroundCabbage"])) data["GroundCabbage"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "vegetable" ) :),
        (: $3->set_short( "shredded vegetables" ) :),
        (: $3->add_adjective(({"shredded"})) :),
        (: $3->add_alias("vegetables") :),
        (: $3->set_long("This is some shredded vegetables.  Needs something more...\n") :),
        (: $3->set_medium_alias("ShreddedVegetables") :),
    });
  data["GroundCabbage"]["GroundCarrot"] = item;
  if (!mapp(data["RanchSaladDressing"])) data["RanchSaladDressing"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.5});
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "coleslaw" ) :),
        (: $3->set_short( "coleslaw" ) :),
        (: $3->set_long("This is some delicious coleslaw.  Yum!!!\n") :),
        (: $3->set_medium_alias("Coleslaw") :),
    });
  data["RanchSaladDressing"]["ShreddedVegetables"] = item;
  if (!mapp(data["GroundMolassesCookie"])) data["GroundMolassesCookie"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.7, 3.0});
  item->result = "/obj/reactions/generic_dough.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "dough" ) :),
        (: $3->set_short( "medicinal dough" ) :),
        (: $3->add_adjective(({"medicinal"})) :),
        (: $3->set_long("This is a medicinal dough.  It smells of molasses.\n") :),
        (: $3->set_medium_alias("MedicinalDough") :),
    });
  data["GroundMolassesCookie"]["LispMedicine"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale pink tea" ) :),
        (: $3->add_adjective(({"pale", "pink"})) :),
        (: $3->set_long("This is a pale pink tea.\n") :),
        (: $3->set_medium_alias("RadishTea") :),
    });
  data["GroundRadish"]["Water"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky white tea" ) :),
        (: $3->add_adjective(({"milky", "white"})) :),
        (: $3->set_long("This is a milky white tea.\n") :),
        (: $3->set_medium_alias("ParsnipTea") :),
    });
  data["GroundParsnip"]["Water"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundRadish"]["ParsnipTea"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundParsnip"]["RadishTea"] = item;
  if (!mapp(data["ParsnipTea"])) data["ParsnipTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["ParsnipTea"]["RadishTea"] = item;
  if (!mapp(data["GroundOregano"])) data["GroundOregano"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1, 0.9});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "olive-green tea" ) :),
        (: $3->add_adjective(({"olive-green"})) :),
        (: $3->set_long("This is an olive-green tea.\n") :),
        (: $3->set_medium_alias("LispMedicine") :),
    });
  data["GroundOregano"]["ParsnipRadishTea"] = item;
  if (!mapp(data["FungoidJuice"])) data["FungoidJuice"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.8/1, 2.2/1 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("sticky grey paste") :),
        (: $3->set_long("This is $pile_size$ of sticky grey paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyFungoidJuice") :),
        (: $3->add_adjective("sticky") :),
        (: $3->add_adjective("grey") :),
        (: $3->add_apply_effect("/std/effects/external/fungus_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["FungoidJuice"]["Water"] = item;
  if (!mapp(data["GroundComfrey"])) data["GroundComfrey"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfrey"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["ComfreyTea"]["GroundYarrow"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "dull slightly metallic liquid" ) :),
        (: $3->set_long("This is a dull, slightly metallic liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("MercuricWater") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AurumPotable"]["Cinoper"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_kibrit";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Kibrit"] = item;
  if (!mapp(data["HeatedKibrit"])) data["HeatedKibrit"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "yellow gelatinous liquid" ) :),
        (: $3->set_long("This is a yellow gelatinous liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("YellowGelatinousLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedKibrit"]["MercuricWater"] = item;
  if (!mapp(data["Realgar"])) data["Realgar"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/d/sur/Haunted_House/transients/vitriol&goldensolid";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["Realgar"]["YellowGelatinousLiquid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 0.0001;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "lump" ) :),
        (: $3->set_short( "green lump" ) :),
        (: $3->set_long("This is a green lump, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("green") :),
        (: $3->set_medium_alias("GreenLump") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GoldenYellowSolid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "aqua vitae" ) :),
        (: $3->set_long("This is some aqua vitae, "
              " about $pile_size$.  Very concentrated stuff.\n") :),
        (: $3->add_alias("aqua vitae") :),
        (: $3->set_medium_alias("AquaVitae") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GreenLump"] = item;
  if (!mapp(data["GreenLump"])) data["GreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_green_lump";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["GreenLump"]["HeatTransient"] = item;
  if (!mapp(data["HeatedGreenLump"])) data["HeatedGreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "milky liquid" ) :),
        (: $3->set_long("This is a milky liquid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("milky") :),
        (: $3->set_medium_alias("UndistilledSheepPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slimesheep", 20) :)
    });
  data["HeatedGreenLump"]["Saffron"] = item;
  if (!mapp(data["Ectoplasm"])) data["Ectoplasm"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "gel" ) :),
        (: $3->set_short( "sickly green gel" ) :),
        (: $3->set_long("This is a sickly green gel, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["Ectoplasm"]["SheepUrine"] = item;
  if (!mapp(data["GreenGel"])) data["GreenGel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8, 1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "light green viscous fluid" ) :),
        (: $3->set_long("This is a light green viscous fluid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpideryGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenGel"]["SpiderWeb"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_tallow";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Tallow"] = item;
  if (!mapp(data["HeatedTallow"])) data["HeatedTallow"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3, 0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "goo" ) :),
        (: $3->set_short( "green-tinted goo" ) :),
        (: $3->set_long("This is a green-tinted goo, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenTintedGoo") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedTallow"]["SpideryGel"] = item;
  if (!mapp(data["GreenTintedGoo"])) data["GreenTintedGoo"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.8,2.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "brown liquid" ) :),
        (: $3->set_long("This is a brown liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("BrownLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenTintedGoo"]["PumpkinJuice"] = item;
  if (!mapp(data["BrownLiquid"])) data["BrownLiquid"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.0, 40.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "yellow flourescent fluid" ) :),
        (: $3->set_long("This is a yellow flourescent fluid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective(({"yellow", "flourescent"})) :),
        (: $3->set_medium_alias("UndistilledBabyPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/babyslime", 20) :)
    });
  data["BrownLiquid"]["OctironFilings"] = item;
  if (!mapp(data["Kibrit"])) data["Kibrit"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "powder" ) :),
        (: $3->set_short( "light yellow powder" ) :),
        (: $3->add_adjective(({"light", "yellow"})) :),
        (: $3->set_long("This is some light yellow powder, $amount_size$.\n") :),
        (: $3->set_medium_alias("KibritTalcum") :),
    });
  data["Kibrit"]["TalcumPowder"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "solution" ) :),
        (: $3->set_short( "smelly milky-golden solution" ) :),
        (: $3->add_adjective(({"smelly", "milky-golden"})) :),
        (: $3->set_long("This is a smelly, milky-golden solution, "
             "$amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/frog_repellent",
              100) :),
        (: $3->set_medium_alias("FrogRepellent") :),
    });
  data["AurumPotable"]["KibritTalcum"] = item;
  if (!mapp(data["GroundVenom"])) data["GroundVenom"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundVenom"]["Water"] = item;
  if (!mapp(data["VenomPoison"])) data["VenomPoison"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomCatalystPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["VenomPoison"]["GroundCatalyst"] = item;
  if (!mapp(data["GroundKlatchianFleabane"])) data["GroundKlatchianFleabane"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("lavender paste") :),
        (: $3->set_long("This is $pile_size$ of lavender paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyKlatchianFleabane") :),
        (: $3->add_adjective("lavender") :)
    });
  data["GroundKlatchianFleabane"]["Water"] = item;
  if (!mapp(data["GroundStinkingMayweed"])) data["GroundStinkingMayweed"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/flea_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_medium_alias("FleaSalve") :),
        (: $3->add_apply_effect("/std/effects/external/flea_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.healing")/20)
        :)
    });
  data["GroundStinkingMayweed"]["PastyKlatchianFleabane"] = item;
  if (!mapp(data["GroundParsley"])) data["GroundParsley"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "dark green tea" ) :),
        (: $3->add_adjective(({"dark", "green"})) :),
        (: $3->set_long("This is a dark green, fresh-smelling tea.\n") :),
        (: $3->set_medium_alias("ParsleyTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/breath_fresh") :),
    });
  data["GroundParsley"]["Water"] = item;
  if (!mapp(data["GroundSage"])) data["GroundSage"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "grey-green tea" ) :),
        (: $3->add_adjective(({"grey-green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a grey-green tea.\n") :),
        (: $3->set_medium_alias("SageTea") :),
    });
  data["GroundSage"]["Water"] = item;
  if (!mapp(data["FeatherStir"])) data["FeatherStir"] = ([]);
  item = new( class reaction );
  item->ratio = 0.25;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 0.8;
  item->func = ({
        (: $3->set_name( "potion" ) :),
        (: $3->set_short( "teal green potion" ) :),
        (: $3->add_adjective(({"teal","green"})) :),
        (: $3->set_long("This is a teal green potion.\n") :),
        (: $3->set_medium_alias("SageIntPotion") :),
        (: $3->add_eat_effect("/std/effects/ingested/int_bonus",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/30) :),
    });
  data["FeatherStir"]["SageTea"] = item;
  if (!mapp(data["GroundSpider"])) data["GroundSpider"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "purple tea" ) :),
        (: $3->add_adjective(({"purple"})) :),
        (: $3->set_long("This is a purple tea.\n") :),
        (: $3->set_medium_alias("SpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
    });
  data["GroundSpider"]["Water"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "green-blue tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"green-blue"})) :),
        (: $3->set_long("This is a green-blue tea.\n") :),
        (: $3->set_medium_alias("BasilTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["Water"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "greenish tea" ) :),
        (: $3->add_adjective(({"greenish"})) :),
        (: $3->set_long("This is a greenish tea.\n") :),
        (: $3->set_medium_alias("ThymeTea") :),
    });
  data["GroundThyme"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundSpider"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["SpiderTea"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["GroundFennel"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) )  :),
    });
  data["BasilFennelTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelSpiderTea"])) data["FennelSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["FennelSpiderTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["FennelTea"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilFennelTea"]["SpiderTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilTea"]["FennelSpiderTea"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale yellow tea" ) :),
        (: $3->add_adjective(({"pale yellow"})) :),
        (: $3->set_long("This is a pale yellow tea.\n") :),
        (: $3->set_medium_alias("FennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundFennel"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["FennelTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["SpiderTea"] = item;
  if (!mapp(data["GroundEyebright"])) data["GroundEyebright"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"yellow"})) :),
        (: $3->set_long("This is a yellow tea.\n") :),
        (: $3->set_medium_alias("EyebrightTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["GroundEyebright"]["Water"] = item;
  if (!mapp(data["GroundCarrot"])) data["GroundCarrot"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "orange tea" ) :),
        (: $3->add_adjective(({"orange"})) :),
        (: $3->set_long("This is a orange tea.\n") :),
        (: $3->set_medium_alias("CarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundCarrot"]["Water"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["CarrotTea"]["EyebrightTea"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["CarrotTea"]["GroundEyebright"] = item;
  if (!mapp(data["EyebrightTea"])) data["EyebrightTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["EyebrightTea"]["GroundCarrot"] = item;
  if (!mapp(data["EyebrightCarrotTea"])) data["EyebrightCarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({3.0,4.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["EyebrightCarrotTea"]["GroundBunnyEyeball"] = item;
  if (!mapp(data["BunnyEyeballTea"])) data["BunnyEyeballTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.5,2.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["BunnyEyeballTea"]["EyebrightCarrotTea"] = item;
  if (!mapp(data["GroundBunnyEyeball"])) data["GroundBunnyEyeball"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red tea" ) :),
        (: $3->add_adjective(({"red"})) :),
        (: $3->set_long("This is a red tea.\n") :),
        (: $3->set_medium_alias("BunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundBunnyEyeball"]["Water"] = item;
  if (!mapp(data["DriedSlug"])) data["DriedSlug"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/d/sur/Scrogden/items/slugsoup";
  item->result_amt = 1.0;
  data["DriedSlug"]["Water"] = item;
  if (!mapp(data["GroundFloppyMadman"])) data["GroundFloppyMadman"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "water" ) :),
        (: $3->set_short( "pale brownish green water" ) :),
        (: $3->set_long("This is some pale green water, with "
                        "a brownish tint to it, about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpellcheckPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/potion_spellcheck",
            this_player()->query_skill_bonus(
               "magic.methods.physical.brewing" ) / 10 ) :)
    });
  data["GroundFloppyMadman"]["Water"] = item;
  if (!mapp(data["SecondSightPotion"])) data["SecondSightPotion"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/2500;
  item->result = "/obj/reagents/ss_test.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_duration(600) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/water.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->add_picture_command() :),
        (: $3->start_reaction() :)
    });
  data["SecondSightPotion"]["Water"] = item;
  if (!mapp(data["RamtopsScumble"])) data["RamtopsScumble"] = ([]);
  item = new( class reaction );
  item->ratio = 2400/400.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("scumble") :),
        (: $3->set_short("sparkly scumble") :),
        (: $3->set_long("This is scumble with some sparkly "
               "sherbet traces in it, $amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("SherbetScumble") :),
    });
  data["RamtopsScumble"]["Sherbet"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("bomb") :),
        (: $3->add_adjective("thyme") :),
        (: $3->set_short("thyme bomb") :),
        (: $3->set_long("This is a thyme bomb, a drink that looks like "
                        "sparkly scumble, $pile_size$.") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("ThymeBomb") :),
        (: call_out( (: environment($1)->
           add_effect( "/w/dragonkin/effects/thyme_bomb", 
           ({ this_player()->
           query_skill_bonus("magic.methods.physical.brewing"), $1 }) ) :),
           1, $3 ) :),
        (: call_out( (: environment($1)->init() :), 2, $3 ) :)
    });
  data["GroundThyme"]["SherbetScumble"] = item;
  return data;
}
#include <reaction.h>
void dest_me() { destruct( this_object() ); }
mixed data_return() {
  class reaction item;
  mapping data = ([ ]);

  if (!mapp(data["GroundDeadlyNightshade"])) data["GroundDeadlyNightshade"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/600, 1.0/1000 });
  item->result = "/obj/reagents/transient_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->set_progress_msg( ({
            ({0, 0}),
            ({0, 0}),
            ({"The liquid in the @@short:#env#@@ darkens slightly.\n", ({
                "set_medium_alias:#obj#|TransientCoffee"})}),
            ({0, 0}),
            ({0, 0})
            }) ) :),
        (: $3->set_medium_alias("PreTransientCoffee") :),
        (: $3->add_eat_effect("/std/effects/ingested/poison.c", 10) :),
        (: $3->set_duration(30) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/poison_coffee.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PoisonCoffee") :),
        (: $3->set_continuous() :),
        (: $3->set_liquid() :),
        (: $3->start_reaction() :)
    });
  data["GroundDeadlyNightshade"]["LiquidCoffee"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/panic.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PanicPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPanic"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/perception.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PerceptionPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPerception"] = item;
  if (!mapp(data["GroundCoffee"])) data["GroundCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/60, 1.0/40 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->add_plural("coffee") :),
        (: $3->set_medium_alias("LiquidCoffee") :),
        (: tell_room($5, "The " + $2->short() + " in " + $4->the_short() +
            " turns brown.\n") :),
        (: $3->set_medium_alias("LiquidCoffee") :)
    });
  data["GroundCoffee"]["Water"] = item;
  if (!mapp(data["GroundComfreyLeaf"])) data["GroundComfreyLeaf"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfreyLeaf"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * 2 * $2->query_amount())
        :)
    });
  data["ComfreyTea"]["GroundYarrowLeaf"] = item;
  if (!mapp(data["GroundWildGarlic"])) data["GroundWildGarlic"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
     (: $3->set_name( "cure" ) :),
     (: $3->set_short( "cold cure" ) :),
     (: $3->set_long( "This is a cold curing syrup.") :),
     (: $3->set_medium_alias( "ColdCureSyrup" ) :),
     (: $3->add_eat_effect("/std/effects/healing/cold_remedy",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")*10) :),
     (: $3->add_eat_effect("/std/effects/ingested/garlic_breath",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")) :)
   });
  data["GroundWildGarlic"]["Honey"] = item;
  if (!mapp(data["GroundCabbage"])) data["GroundCabbage"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "vegetable" ) :),
        (: $3->set_short( "shredded vegetables" ) :),
        (: $3->add_adjective(({"shredded"})) :),
        (: $3->add_alias("vegetables") :),
        (: $3->set_long("This is some shredded vegetables.  Needs something more...\n") :),
        (: $3->set_medium_alias("ShreddedVegetables") :),
    });
  data["GroundCabbage"]["GroundCarrot"] = item;
  if (!mapp(data["RanchSaladDressing"])) data["RanchSaladDressing"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.5});
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "coleslaw" ) :),
        (: $3->set_short( "coleslaw" ) :),
        (: $3->set_long("This is some delicious coleslaw.  Yum!!!\n") :),
        (: $3->set_medium_alias("Coleslaw") :),
    });
  data["RanchSaladDressing"]["ShreddedVegetables"] = item;
  if (!mapp(data["GroundMolassesCookie"])) data["GroundMolassesCookie"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.7, 3.0});
  item->result = "/obj/reactions/generic_dough.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "dough" ) :),
        (: $3->set_short( "medicinal dough" ) :),
        (: $3->add_adjective(({"medicinal"})) :),
        (: $3->set_long("This is a medicinal dough.  It smells of molasses.\n") :),
        (: $3->set_medium_alias("MedicinalDough") :),
    });
  data["GroundMolassesCookie"]["LispMedicine"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale pink tea" ) :),
        (: $3->add_adjective(({"pale", "pink"})) :),
        (: $3->set_long("This is a pale pink tea.\n") :),
        (: $3->set_medium_alias("RadishTea") :),
    });
  data["GroundRadish"]["Water"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky white tea" ) :),
        (: $3->add_adjective(({"milky", "white"})) :),
        (: $3->set_long("This is a milky white tea.\n") :),
        (: $3->set_medium_alias("ParsnipTea") :),
    });
  data["GroundParsnip"]["Water"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundRadish"]["ParsnipTea"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundParsnip"]["RadishTea"] = item;
  if (!mapp(data["ParsnipTea"])) data["ParsnipTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["ParsnipTea"]["RadishTea"] = item;
  if (!mapp(data["GroundOregano"])) data["GroundOregano"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1, 0.9});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "olive-green tea" ) :),
        (: $3->add_adjective(({"olive-green"})) :),
        (: $3->set_long("This is an olive-green tea.\n") :),
        (: $3->set_medium_alias("LispMedicine") :),
    });
  data["GroundOregano"]["ParsnipRadishTea"] = item;
  if (!mapp(data["FungoidJuice"])) data["FungoidJuice"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.8/1, 2.2/1 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("sticky grey paste") :),
        (: $3->set_long("This is $pile_size$ of sticky grey paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyFungoidJuice") :),
        (: $3->add_adjective("sticky") :),
        (: $3->add_adjective("grey") :),
        (: $3->add_apply_effect("/std/effects/external/fungus_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["FungoidJuice"]["Water"] = item;
  if (!mapp(data["GroundComfrey"])) data["GroundComfrey"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfrey"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["ComfreyTea"]["GroundYarrow"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "dull slightly metallic liquid" ) :),
        (: $3->set_long("This is a dull, slightly metallic liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("MercuricWater") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AurumPotable"]["Cinoper"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_kibrit";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Kibrit"] = item;
  if (!mapp(data["HeatedKibrit"])) data["HeatedKibrit"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "yellow gelatinous liquid" ) :),
        (: $3->set_long("This is a yellow gelatinous liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("YellowGelatinousLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedKibrit"]["MercuricWater"] = item;
  if (!mapp(data["Realgar"])) data["Realgar"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/d/sur/Haunted_House/transients/vitriol&goldensolid";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["Realgar"]["YellowGelatinousLiquid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 0.0001;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "lump" ) :),
        (: $3->set_short( "green lump" ) :),
        (: $3->set_long("This is a green lump, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("green") :),
        (: $3->set_medium_alias("GreenLump") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GoldenYellowSolid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "aqua vitae" ) :),
        (: $3->set_long("This is some aqua vitae, "
              " about $pile_size$.  Very concentrated stuff.\n") :),
        (: $3->add_alias("aqua vitae") :),
        (: $3->set_medium_alias("AquaVitae") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GreenLump"] = item;
  if (!mapp(data["GreenLump"])) data["GreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_green_lump";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["GreenLump"]["HeatTransient"] = item;
  if (!mapp(data["HeatedGreenLump"])) data["HeatedGreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "milky liquid" ) :),
        (: $3->set_long("This is a milky liquid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("milky") :),
        (: $3->set_medium_alias("UndistilledSheepPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slimesheep", 20) :)
    });
  data["HeatedGreenLump"]["Saffron"] = item;
  if (!mapp(data["Ectoplasm"])) data["Ectoplasm"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "gel" ) :),
        (: $3->set_short( "sickly green gel" ) :),
        (: $3->set_long("This is a sickly green gel, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["Ectoplasm"]["SheepUrine"] = item;
  if (!mapp(data["GreenGel"])) data["GreenGel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8, 1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "light green viscous fluid" ) :),
        (: $3->set_long("This is a light green viscous fluid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpideryGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenGel"]["SpiderWeb"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_tallow";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Tallow"] = item;
  if (!mapp(data["HeatedTallow"])) data["HeatedTallow"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3, 0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "goo" ) :),
        (: $3->set_short( "green-tinted goo" ) :),
        (: $3->set_long("This is a green-tinted goo, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenTintedGoo") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedTallow"]["SpideryGel"] = item;
  if (!mapp(data["GreenTintedGoo"])) data["GreenTintedGoo"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.8,2.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "brown liquid" ) :),
        (: $3->set_long("This is a brown liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("BrownLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenTintedGoo"]["PumpkinJuice"] = item;
  if (!mapp(data["BrownLiquid"])) data["BrownLiquid"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.0, 40.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "yellow flourescent fluid" ) :),
        (: $3->set_long("This is a yellow flourescent fluid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective(({"yellow", "flourescent"})) :),
        (: $3->set_medium_alias("UndistilledBabyPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/babyslime", 20) :)
    });
  data["BrownLiquid"]["OctironFilings"] = item;
  if (!mapp(data["Kibrit"])) data["Kibrit"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "powder" ) :),
        (: $3->set_short( "light yellow powder" ) :),
        (: $3->add_adjective(({"light", "yellow"})) :),
        (: $3->set_long("This is some light yellow powder, $amount_size$.\n") :),
        (: $3->set_medium_alias("KibritTalcum") :),
    });
  data["Kibrit"]["TalcumPowder"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "solution" ) :),
        (: $3->set_short( "smelly milky-golden solution" ) :),
        (: $3->add_adjective(({"smelly", "milky-golden"})) :),
        (: $3->set_long("This is a smelly, milky-golden solution, "
             "$amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/frog_repellent",
              100) :),
        (: $3->set_medium_alias("FrogRepellent") :),
    });
  data["AurumPotable"]["KibritTalcum"] = item;
  if (!mapp(data["GroundVenom"])) data["GroundVenom"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundVenom"]["Water"] = item;
  if (!mapp(data["VenomPoison"])) data["VenomPoison"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomCatalystPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["VenomPoison"]["GroundCatalyst"] = item;
  if (!mapp(data["GroundKlatchianFleabane"])) data["GroundKlatchianFleabane"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("lavender paste") :),
        (: $3->set_long("This is $pile_size$ of lavender paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyKlatchianFleabane") :),
        (: $3->add_adjective("lavender") :)
    });
  data["GroundKlatchianFleabane"]["Water"] = item;
  if (!mapp(data["GroundStinkingMayweed"])) data["GroundStinkingMayweed"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/flea_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_medium_alias("FleaSalve") :),
        (: $3->add_apply_effect("/std/effects/external/flea_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.healing")/20)
        :)
    });
  data["GroundStinkingMayweed"]["PastyKlatchianFleabane"] = item;
  if (!mapp(data["GroundParsley"])) data["GroundParsley"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "dark green tea" ) :),
        (: $3->add_adjective(({"dark", "green"})) :),
        (: $3->set_long("This is a dark green, fresh-smelling tea.\n") :),
        (: $3->set_medium_alias("ParsleyTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/breath_fresh") :),
    });
  data["GroundParsley"]["Water"] = item;
  if (!mapp(data["GroundSage"])) data["GroundSage"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "grey-green tea" ) :),
        (: $3->add_adjective(({"grey-green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a grey-green tea.\n") :),
        (: $3->set_medium_alias("SageTea") :),
    });
  data["GroundSage"]["Water"] = item;
  if (!mapp(data["FeatherStir"])) data["FeatherStir"] = ([]);
  item = new( class reaction );
  item->ratio = 0.25;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 0.8;
  item->func = ({
        (: $3->set_name( "potion" ) :),
        (: $3->set_short( "teal green potion" ) :),
        (: $3->add_adjective(({"teal","green"})) :),
        (: $3->set_long("This is a teal green potion.\n") :),
        (: $3->set_medium_alias("SageIntPotion") :),
        (: $3->add_eat_effect("/std/effects/ingested/int_bonus",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/30) :),
    });
  data["FeatherStir"]["SageTea"] = item;
  if (!mapp(data["GroundSpider"])) data["GroundSpider"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "purple tea" ) :),
        (: $3->add_adjective(({"purple"})) :),
        (: $3->set_long("This is a purple tea.\n") :),
        (: $3->set_medium_alias("SpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
    });
  data["GroundSpider"]["Water"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "green-blue tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"green-blue"})) :),
        (: $3->set_long("This is a green-blue tea.\n") :),
        (: $3->set_medium_alias("BasilTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["Water"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "greenish tea" ) :),
        (: $3->add_adjective(({"greenish"})) :),
        (: $3->set_long("This is a greenish tea.\n") :),
        (: $3->set_medium_alias("ThymeTea") :),
    });
  data["GroundThyme"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundSpider"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["SpiderTea"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["GroundFennel"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) )  :),
    });
  data["BasilFennelTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelSpiderTea"])) data["FennelSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["FennelSpiderTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["FennelTea"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilFennelTea"]["SpiderTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilTea"]["FennelSpiderTea"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale yellow tea" ) :),
        (: $3->add_adjective(({"pale yellow"})) :),
        (: $3->set_long("This is a pale yellow tea.\n") :),
        (: $3->set_medium_alias("FennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundFennel"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["FennelTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["SpiderTea"] = item;
  if (!mapp(data["GroundEyebright"])) data["GroundEyebright"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"yellow"})) :),
        (: $3->set_long("This is a yellow tea.\n") :),
        (: $3->set_medium_alias("EyebrightTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["GroundEyebright"]["Water"] = item;
  if (!mapp(data["GroundCarrot"])) data["GroundCarrot"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "orange tea" ) :),
        (: $3->add_adjective(({"orange"})) :),
        (: $3->set_long("This is a orange tea.\n") :),
        (: $3->set_medium_alias("CarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundCarrot"]["Water"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["CarrotTea"]["EyebrightTea"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["CarrotTea"]["GroundEyebright"] = item;
  if (!mapp(data["EyebrightTea"])) data["EyebrightTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["EyebrightTea"]["GroundCarrot"] = item;
  if (!mapp(data["EyebrightCarrotTea"])) data["EyebrightCarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({3.0,4.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["EyebrightCarrotTea"]["GroundBunnyEyeball"] = item;
  if (!mapp(data["BunnyEyeballTea"])) data["BunnyEyeballTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.5,2.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["BunnyEyeballTea"]["EyebrightCarrotTea"] = item;
  if (!mapp(data["GroundBunnyEyeball"])) data["GroundBunnyEyeball"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red tea" ) :),
        (: $3->add_adjective(({"red"})) :),
        (: $3->set_long("This is a red tea.\n") :),
        (: $3->set_medium_alias("BunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundBunnyEyeball"]["Water"] = item;
  if (!mapp(data["DriedSlug"])) data["DriedSlug"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/d/sur/Scrogden/items/slugsoup";
  item->result_amt = 1.0;
  data["DriedSlug"]["Water"] = item;
  if (!mapp(data["GroundFloppyMadman"])) data["GroundFloppyMadman"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "water" ) :),
        (: $3->set_short( "pale brownish green water" ) :),
        (: $3->set_long("This is some pale green water, with "
                        "a brownish tint to it, about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpellcheckPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/potion_spellcheck",
            this_player()->query_skill_bonus(
               "magic.methods.physical.brewing" ) / 10 ) :)
    });
  data["GroundFloppyMadman"]["Water"] = item;
  if (!mapp(data["SecondSightPotion"])) data["SecondSightPotion"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/2500;
  item->result = "/obj/reagents/ss_test.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_duration(600) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/water.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->add_picture_command() :),
        (: $3->start_reaction() :)
    });
  data["SecondSightPotion"]["Water"] = item;
  if (!mapp(data["RamtopsScumble"])) data["RamtopsScumble"] = ([]);
  item = new( class reaction );
  item->ratio = 2400/400.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("scumble") :),
        (: $3->set_short("sparkly scumble") :),
        (: $3->set_long("This is scumble with some sparkly "
               "sherbet traces in it, $amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("SherbetScumble") :),
    });
  data["RamtopsScumble"]["Sherbet"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("bomb") :),
        (: $3->add_adjective("thyme") :),
        (: $3->set_short("thyme bomb") :),
        (: $3->set_long("This is a thyme bomb, a drink that looks like "
                        "sparkly scumble, $pile_size$.") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("ThymeBomb") :),
        (: call_out( (: environment($1)->
           add_effect( "/w/dragonkin/effects/thyme_bomb", 
           ({ this_player()->
           query_skill_bonus("magic.methods.physical.brewing"), $1 }) ) :),
           1, $3 ) :),
        (: call_out( (: environment($1)->init() :), 2, $3 ) :)
    });
  data["GroundThyme"]["SherbetScumble"] = item;
  return data;
}
#include <reaction.h>
void dest_me() { destruct( this_object() ); }
mixed data_return() {
  class reaction item;
  mapping data = ([ ]);

  if (!mapp(data["GroundDeadlyNightshade"])) data["GroundDeadlyNightshade"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/600, 1.0/1000 });
  item->result = "/obj/reagents/transient_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->set_progress_msg( ({
            ({0, 0}),
            ({0, 0}),
            ({"The liquid in the @@short:#env#@@ darkens slightly.\n", ({
                "set_medium_alias:#obj#|TransientCoffee"})}),
            ({0, 0}),
            ({0, 0})
            }) ) :),
        (: $3->set_medium_alias("PreTransientCoffee") :),
        (: $3->add_eat_effect("/std/effects/ingested/poison.c", 10) :),
        (: $3->set_duration(30) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/poison_coffee.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PoisonCoffee") :),
        (: $3->set_continuous() :),
        (: $3->set_liquid() :),
        (: $3->start_reaction() :)
    });
  data["GroundDeadlyNightshade"]["LiquidCoffee"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/panic.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PanicPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPanic"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/perception.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PerceptionPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPerception"] = item;
  if (!mapp(data["GroundCoffee"])) data["GroundCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/60, 1.0/40 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->add_plural("coffee") :),
        (: $3->set_medium_alias("LiquidCoffee") :),
        (: tell_room($5, "The " + $2->short() + " in " + $4->the_short() +
            " turns brown.\n") :),
        (: $3->set_medium_alias("LiquidCoffee") :)
    });
  data["GroundCoffee"]["Water"] = item;
  if (!mapp(data["GroundComfreyLeaf"])) data["GroundComfreyLeaf"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfreyLeaf"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * 2 * $2->query_amount())
        :)
    });
  data["ComfreyTea"]["GroundYarrowLeaf"] = item;
  if (!mapp(data["GroundWildGarlic"])) data["GroundWildGarlic"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
     (: $3->set_name( "cure" ) :),
     (: $3->set_short( "cold cure" ) :),
     (: $3->set_long( "This is a cold curing syrup.") :),
     (: $3->set_medium_alias( "ColdCureSyrup" ) :),
     (: $3->add_eat_effect("/std/effects/healing/cold_remedy",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")*10) :),
     (: $3->add_eat_effect("/std/effects/ingested/garlic_breath",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")) :)
   });
  data["GroundWildGarlic"]["Honey"] = item;
  if (!mapp(data["GroundCabbage"])) data["GroundCabbage"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "vegetable" ) :),
        (: $3->set_short( "shredded vegetables" ) :),
        (: $3->add_adjective(({"shredded"})) :),
        (: $3->add_alias("vegetables") :),
        (: $3->set_long("This is some shredded vegetables.  Needs something more...\n") :),
        (: $3->set_medium_alias("ShreddedVegetables") :),
    });
  data["GroundCabbage"]["GroundCarrot"] = item;
  if (!mapp(data["RanchSaladDressing"])) data["RanchSaladDressing"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.5});
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "coleslaw" ) :),
        (: $3->set_short( "coleslaw" ) :),
        (: $3->set_long("This is some delicious coleslaw.  Yum!!!\n") :),
        (: $3->set_medium_alias("Coleslaw") :),
    });
  data["RanchSaladDressing"]["ShreddedVegetables"] = item;
  if (!mapp(data["GroundMolassesCookie"])) data["GroundMolassesCookie"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.7, 3.0});
  item->result = "/obj/reactions/generic_dough.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "dough" ) :),
        (: $3->set_short( "medicinal dough" ) :),
        (: $3->add_adjective(({"medicinal"})) :),
        (: $3->set_long("This is a medicinal dough.  It smells of molasses.\n") :),
        (: $3->set_medium_alias("MedicinalDough") :),
    });
  data["GroundMolassesCookie"]["LispMedicine"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale pink tea" ) :),
        (: $3->add_adjective(({"pale", "pink"})) :),
        (: $3->set_long("This is a pale pink tea.\n") :),
        (: $3->set_medium_alias("RadishTea") :),
    });
  data["GroundRadish"]["Water"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky white tea" ) :),
        (: $3->add_adjective(({"milky", "white"})) :),
        (: $3->set_long("This is a milky white tea.\n") :),
        (: $3->set_medium_alias("ParsnipTea") :),
    });
  data["GroundParsnip"]["Water"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundRadish"]["ParsnipTea"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundParsnip"]["RadishTea"] = item;
  if (!mapp(data["ParsnipTea"])) data["ParsnipTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["ParsnipTea"]["RadishTea"] = item;
  if (!mapp(data["GroundOregano"])) data["GroundOregano"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1, 0.9});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "olive-green tea" ) :),
        (: $3->add_adjective(({"olive-green"})) :),
        (: $3->set_long("This is an olive-green tea.\n") :),
        (: $3->set_medium_alias("LispMedicine") :),
    });
  data["GroundOregano"]["ParsnipRadishTea"] = item;
  if (!mapp(data["FungoidJuice"])) data["FungoidJuice"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.8/1, 2.2/1 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("sticky grey paste") :),
        (: $3->set_long("This is $pile_size$ of sticky grey paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyFungoidJuice") :),
        (: $3->add_adjective("sticky") :),
        (: $3->add_adjective("grey") :),
        (: $3->add_apply_effect("/std/effects/external/fungus_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["FungoidJuice"]["Water"] = item;
  if (!mapp(data["GroundComfrey"])) data["GroundComfrey"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfrey"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["ComfreyTea"]["GroundYarrow"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "dull slightly metallic liquid" ) :),
        (: $3->set_long("This is a dull, slightly metallic liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("MercuricWater") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AurumPotable"]["Cinoper"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_kibrit";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Kibrit"] = item;
  if (!mapp(data["HeatedKibrit"])) data["HeatedKibrit"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "yellow gelatinous liquid" ) :),
        (: $3->set_long("This is a yellow gelatinous liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("YellowGelatinousLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedKibrit"]["MercuricWater"] = item;
  if (!mapp(data["Realgar"])) data["Realgar"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/d/sur/Haunted_House/transients/vitriol&goldensolid";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["Realgar"]["YellowGelatinousLiquid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 0.0001;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "lump" ) :),
        (: $3->set_short( "green lump" ) :),
        (: $3->set_long("This is a green lump, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("green") :),
        (: $3->set_medium_alias("GreenLump") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GoldenYellowSolid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "aqua vitae" ) :),
        (: $3->set_long("This is some aqua vitae, "
              " about $pile_size$.  Very concentrated stuff.\n") :),
        (: $3->add_alias("aqua vitae") :),
        (: $3->set_medium_alias("AquaVitae") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GreenLump"] = item;
  if (!mapp(data["GreenLump"])) data["GreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_green_lump";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["GreenLump"]["HeatTransient"] = item;
  if (!mapp(data["HeatedGreenLump"])) data["HeatedGreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "milky liquid" ) :),
        (: $3->set_long("This is a milky liquid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("milky") :),
        (: $3->set_medium_alias("UndistilledSheepPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slimesheep", 20) :)
    });
  data["HeatedGreenLump"]["Saffron"] = item;
  if (!mapp(data["Ectoplasm"])) data["Ectoplasm"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "gel" ) :),
        (: $3->set_short( "sickly green gel" ) :),
        (: $3->set_long("This is a sickly green gel, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["Ectoplasm"]["SheepUrine"] = item;
  if (!mapp(data["GreenGel"])) data["GreenGel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8, 1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "light green viscous fluid" ) :),
        (: $3->set_long("This is a light green viscous fluid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpideryGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenGel"]["SpiderWeb"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_tallow";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Tallow"] = item;
  if (!mapp(data["HeatedTallow"])) data["HeatedTallow"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3, 0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "goo" ) :),
        (: $3->set_short( "green-tinted goo" ) :),
        (: $3->set_long("This is a green-tinted goo, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenTintedGoo") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedTallow"]["SpideryGel"] = item;
  if (!mapp(data["GreenTintedGoo"])) data["GreenTintedGoo"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.8,2.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "brown liquid" ) :),
        (: $3->set_long("This is a brown liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("BrownLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenTintedGoo"]["PumpkinJuice"] = item;
  if (!mapp(data["BrownLiquid"])) data["BrownLiquid"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.0, 40.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "yellow flourescent fluid" ) :),
        (: $3->set_long("This is a yellow flourescent fluid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective(({"yellow", "flourescent"})) :),
        (: $3->set_medium_alias("UndistilledBabyPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/babyslime", 20) :)
    });
  data["BrownLiquid"]["OctironFilings"] = item;
  if (!mapp(data["Kibrit"])) data["Kibrit"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "powder" ) :),
        (: $3->set_short( "light yellow powder" ) :),
        (: $3->add_adjective(({"light", "yellow"})) :),
        (: $3->set_long("This is some light yellow powder, $amount_size$.\n") :),
        (: $3->set_medium_alias("KibritTalcum") :),
    });
  data["Kibrit"]["TalcumPowder"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "solution" ) :),
        (: $3->set_short( "smelly milky-golden solution" ) :),
        (: $3->add_adjective(({"smelly", "milky-golden"})) :),
        (: $3->set_long("This is a smelly, milky-golden solution, "
             "$amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/frog_repellent",
              100) :),
        (: $3->set_medium_alias("FrogRepellent") :),
    });
  data["AurumPotable"]["KibritTalcum"] = item;
  if (!mapp(data["GroundVenom"])) data["GroundVenom"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundVenom"]["Water"] = item;
  if (!mapp(data["VenomPoison"])) data["VenomPoison"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomCatalystPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["VenomPoison"]["GroundCatalyst"] = item;
  if (!mapp(data["GroundKlatchianFleabane"])) data["GroundKlatchianFleabane"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("lavender paste") :),
        (: $3->set_long("This is $pile_size$ of lavender paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyKlatchianFleabane") :),
        (: $3->add_adjective("lavender") :)
    });
  data["GroundKlatchianFleabane"]["Water"] = item;
  if (!mapp(data["GroundStinkingMayweed"])) data["GroundStinkingMayweed"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/flea_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_medium_alias("FleaSalve") :),
        (: $3->add_apply_effect("/std/effects/external/flea_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.healing")/20)
        :)
    });
  data["GroundStinkingMayweed"]["PastyKlatchianFleabane"] = item;
  if (!mapp(data["GroundParsley"])) data["GroundParsley"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "dark green tea" ) :),
        (: $3->add_adjective(({"dark", "green"})) :),
        (: $3->set_long("This is a dark green, fresh-smelling tea.\n") :),
        (: $3->set_medium_alias("ParsleyTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/breath_fresh") :),
    });
  data["GroundParsley"]["Water"] = item;
  if (!mapp(data["GroundSage"])) data["GroundSage"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "grey-green tea" ) :),
        (: $3->add_adjective(({"grey-green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a grey-green tea.\n") :),
        (: $3->set_medium_alias("SageTea") :),
    });
  data["GroundSage"]["Water"] = item;
  if (!mapp(data["FeatherStir"])) data["FeatherStir"] = ([]);
  item = new( class reaction );
  item->ratio = 0.25;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 0.8;
  item->func = ({
        (: $3->set_name( "potion" ) :),
        (: $3->set_short( "teal green potion" ) :),
        (: $3->add_adjective(({"teal","green"})) :),
        (: $3->set_long("This is a teal green potion.\n") :),
        (: $3->set_medium_alias("SageIntPotion") :),
        (: $3->add_eat_effect("/std/effects/ingested/int_bonus",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/30) :),
    });
  data["FeatherStir"]["SageTea"] = item;
  if (!mapp(data["GroundSpider"])) data["GroundSpider"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "purple tea" ) :),
        (: $3->add_adjective(({"purple"})) :),
        (: $3->set_long("This is a purple tea.\n") :),
        (: $3->set_medium_alias("SpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
    });
  data["GroundSpider"]["Water"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "green-blue tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"green-blue"})) :),
        (: $3->set_long("This is a green-blue tea.\n") :),
        (: $3->set_medium_alias("BasilTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["Water"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "greenish tea" ) :),
        (: $3->add_adjective(({"greenish"})) :),
        (: $3->set_long("This is a greenish tea.\n") :),
        (: $3->set_medium_alias("ThymeTea") :),
    });
  data["GroundThyme"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundSpider"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["SpiderTea"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["GroundFennel"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) )  :),
    });
  data["BasilFennelTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelSpiderTea"])) data["FennelSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["FennelSpiderTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["FennelTea"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilFennelTea"]["SpiderTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilTea"]["FennelSpiderTea"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale yellow tea" ) :),
        (: $3->add_adjective(({"pale yellow"})) :),
        (: $3->set_long("This is a pale yellow tea.\n") :),
        (: $3->set_medium_alias("FennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundFennel"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["FennelTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["SpiderTea"] = item;
  if (!mapp(data["GroundEyebright"])) data["GroundEyebright"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"yellow"})) :),
        (: $3->set_long("This is a yellow tea.\n") :),
        (: $3->set_medium_alias("EyebrightTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["GroundEyebright"]["Water"] = item;
  if (!mapp(data["GroundCarrot"])) data["GroundCarrot"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "orange tea" ) :),
        (: $3->add_adjective(({"orange"})) :),
        (: $3->set_long("This is a orange tea.\n") :),
        (: $3->set_medium_alias("CarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundCarrot"]["Water"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["CarrotTea"]["EyebrightTea"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["CarrotTea"]["GroundEyebright"] = item;
  if (!mapp(data["EyebrightTea"])) data["EyebrightTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["EyebrightTea"]["GroundCarrot"] = item;
  if (!mapp(data["EyebrightCarrotTea"])) data["EyebrightCarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({3.0,4.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["EyebrightCarrotTea"]["GroundBunnyEyeball"] = item;
  if (!mapp(data["BunnyEyeballTea"])) data["BunnyEyeballTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.5,2.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["BunnyEyeballTea"]["EyebrightCarrotTea"] = item;
  if (!mapp(data["GroundBunnyEyeball"])) data["GroundBunnyEyeball"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red tea" ) :),
        (: $3->add_adjective(({"red"})) :),
        (: $3->set_long("This is a red tea.\n") :),
        (: $3->set_medium_alias("BunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundBunnyEyeball"]["Water"] = item;
  if (!mapp(data["DriedSlug"])) data["DriedSlug"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/d/sur/Scrogden/items/slugsoup";
  item->result_amt = 1.0;
  data["DriedSlug"]["Water"] = item;
  if (!mapp(data["GroundFloppyMadman"])) data["GroundFloppyMadman"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "water" ) :),
        (: $3->set_short( "pale brownish green water" ) :),
        (: $3->set_long("This is some pale green water, with "
                        "a brownish tint to it, about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpellcheckPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/potion_spellcheck",
            this_player()->query_skill_bonus(
               "magic.methods.physical.brewing" ) / 10 ) :)
    });
  data["GroundFloppyMadman"]["Water"] = item;
  if (!mapp(data["SecondSightPotion"])) data["SecondSightPotion"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/2500;
  item->result = "/obj/reagents/ss_test.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_duration(600) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/water.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->add_picture_command() :),
        (: $3->start_reaction() :)
    });
  data["SecondSightPotion"]["Water"] = item;
  if (!mapp(data["RamtopsScumble"])) data["RamtopsScumble"] = ([]);
  item = new( class reaction );
  item->ratio = 2400/400.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("scumble") :),
        (: $3->set_short("sparkly scumble") :),
        (: $3->set_long("This is scumble with some sparkly "
               "sherbet traces in it, $amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("SherbetScumble") :),
    });
  data["RamtopsScumble"]["Sherbet"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("bomb") :),
        (: $3->add_adjective("thyme") :),
        (: $3->set_short("thyme bomb") :),
        (: $3->set_long("This is a thyme bomb, a drink that looks like "
                        "sparkly scumble, $pile_size$.") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("ThymeBomb") :),
        (: call_out( (: environment($1)->
           add_effect( "/w/dragonkin/effects/thyme_bomb", 
           ({ this_player()->
           query_skill_bonus("magic.methods.physical.brewing"), $1 }) ) :),
           1, $3 ) :),
        (: call_out( (: environment($1)->init() :), 2, $3 ) :)
    });
  data["GroundThyme"]["SherbetScumble"] = item;
  return data;
}
#include <reaction.h>
void dest_me() { destruct( this_object() ); }
mixed data_return() {
  class reaction item;
  mapping data = ([ ]);

  if (!mapp(data["GroundDeadlyNightshade"])) data["GroundDeadlyNightshade"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/600, 1.0/1000 });
  item->result = "/obj/reagents/transient_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->set_progress_msg( ({
            ({0, 0}),
            ({0, 0}),
            ({"The liquid in the @@short:#env#@@ darkens slightly.\n", ({
                "set_medium_alias:#obj#|TransientCoffee"})}),
            ({0, 0}),
            ({0, 0})
            }) ) :),
        (: $3->set_medium_alias("PreTransientCoffee") :),
        (: $3->add_eat_effect("/std/effects/ingested/poison.c", 10) :),
        (: $3->set_duration(30) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/poison_coffee.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PoisonCoffee") :),
        (: $3->set_continuous() :),
        (: $3->set_liquid() :),
        (: $3->start_reaction() :)
    });
  data["GroundDeadlyNightshade"]["LiquidCoffee"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/panic.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PanicPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPanic"] = item;
  if (!mapp(data["TransientCoffee"])) data["TransientCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 0, 2500 });
  item->result = "/obj/reagents/shimmer.ob";
  item->result_amt = 1.0;
  item->message = "Something begins to happen in the @@short:#env#@@...\n";
  item->func = ({
        (: $3->set_short("dimly glowing liquid") :),
        (: $3->set_duration(20) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/perception.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->set_result_alias("PerceptionPotion") :),
        (: $3->start_reaction() :)
    });
  data["TransientCoffee"]["TransientPerception"] = item;
  if (!mapp(data["GroundCoffee"])) data["GroundCoffee"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/60, 1.0/40 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("coffee") :),
        (: $3->set_short("coffee") :),
        (: $3->set_long("This is some freshly made coffee, $amount_size$.\n")
            :),
        (: $3->add_plural("coffee") :),
        (: $3->set_medium_alias("LiquidCoffee") :),
        (: tell_room($5, "The " + $2->short() + " in " + $4->the_short() +
            " turns brown.\n") :),
        (: $3->set_medium_alias("LiquidCoffee") :)
    });
  data["GroundCoffee"]["Water"] = item;
  if (!mapp(data["GroundComfreyLeaf"])) data["GroundComfreyLeaf"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfreyLeaf"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * 2 * $2->query_amount())
        :)
    });
  data["ComfreyTea"]["GroundYarrowLeaf"] = item;
  if (!mapp(data["GroundWildGarlic"])) data["GroundWildGarlic"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
     (: $3->set_name( "cure" ) :),
     (: $3->set_short( "cold cure" ) :),
     (: $3->set_long( "This is a cold curing syrup.") :),
     (: $3->set_medium_alias( "ColdCureSyrup" ) :),
     (: $3->add_eat_effect("/std/effects/healing/cold_remedy",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")*10) :),
     (: $3->add_eat_effect("/std/effects/ingested/garlic_breath",
          this_player()->query_skill_bonus(
            "magic.methods.physical.healing")) :)
   });
  data["GroundWildGarlic"]["Honey"] = item;
  if (!mapp(data["GroundCabbage"])) data["GroundCabbage"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "vegetable" ) :),
        (: $3->set_short( "shredded vegetables" ) :),
        (: $3->add_adjective(({"shredded"})) :),
        (: $3->add_alias("vegetables") :),
        (: $3->set_long("This is some shredded vegetables.  Needs something more...\n") :),
        (: $3->set_medium_alias("ShreddedVegetables") :),
    });
  data["GroundCabbage"]["GroundCarrot"] = item;
  if (!mapp(data["RanchSaladDressing"])) data["RanchSaladDressing"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.5});
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "coleslaw" ) :),
        (: $3->set_short( "coleslaw" ) :),
        (: $3->set_long("This is some delicious coleslaw.  Yum!!!\n") :),
        (: $3->set_medium_alias("Coleslaw") :),
    });
  data["RanchSaladDressing"]["ShreddedVegetables"] = item;
  if (!mapp(data["GroundMolassesCookie"])) data["GroundMolassesCookie"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.7, 3.0});
  item->result = "/obj/reactions/generic_dough.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "dough" ) :),
        (: $3->set_short( "medicinal dough" ) :),
        (: $3->add_adjective(({"medicinal"})) :),
        (: $3->set_long("This is a medicinal dough.  It smells of molasses.\n") :),
        (: $3->set_medium_alias("MedicinalDough") :),
    });
  data["GroundMolassesCookie"]["LispMedicine"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale pink tea" ) :),
        (: $3->add_adjective(({"pale", "pink"})) :),
        (: $3->set_long("This is a pale pink tea.\n") :),
        (: $3->set_medium_alias("RadishTea") :),
    });
  data["GroundRadish"]["Water"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky white tea" ) :),
        (: $3->add_adjective(({"milky", "white"})) :),
        (: $3->set_long("This is a milky white tea.\n") :),
        (: $3->set_medium_alias("ParsnipTea") :),
    });
  data["GroundParsnip"]["Water"] = item;
  if (!mapp(data["GroundRadish"])) data["GroundRadish"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundRadish"]["ParsnipTea"] = item;
  if (!mapp(data["GroundParsnip"])) data["GroundParsnip"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.2,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["GroundParsnip"]["RadishTea"] = item;
  if (!mapp(data["ParsnipTea"])) data["ParsnipTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "milky pink tea" ) :),
        (: $3->add_adjective(({"milky","pink"})) :),
        (: $3->set_long("This is a milky pink tea.\n") :),
        (: $3->set_medium_alias("ParsnipRadishTea") :),
    });
  data["ParsnipTea"]["RadishTea"] = item;
  if (!mapp(data["GroundOregano"])) data["GroundOregano"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1, 0.9});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "olive-green tea" ) :),
        (: $3->add_adjective(({"olive-green"})) :),
        (: $3->set_long("This is an olive-green tea.\n") :),
        (: $3->set_medium_alias("LispMedicine") :),
    });
  data["GroundOregano"]["ParsnipRadishTea"] = item;
  if (!mapp(data["FungoidJuice"])) data["FungoidJuice"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.8/1, 2.2/1 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("sticky grey paste") :),
        (: $3->set_long("This is $pile_size$ of sticky grey paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyFungoidJuice") :),
        (: $3->add_adjective("sticky") :),
        (: $3->add_adjective("grey") :),
        (: $3->add_apply_effect("/std/effects/external/fungus_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["FungoidJuice"]["Water"] = item;
  if (!mapp(data["GroundComfrey"])) data["GroundComfrey"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundComfrey"]["Water"] = item;
  if (!mapp(data["ComfreyTea"])) data["ComfreyTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->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") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["ComfreyTea"]["GroundYarrow"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "dull slightly metallic liquid" ) :),
        (: $3->set_long("This is a dull, slightly metallic liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("MercuricWater") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AurumPotable"]["Cinoper"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_kibrit";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Kibrit"] = item;
  if (!mapp(data["HeatedKibrit"])) data["HeatedKibrit"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "yellow gelatinous liquid" ) :),
        (: $3->set_long("This is a yellow gelatinous liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("YellowGelatinousLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedKibrit"]["MercuricWater"] = item;
  if (!mapp(data["Realgar"])) data["Realgar"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/d/sur/Haunted_House/transients/vitriol&goldensolid";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["Realgar"]["YellowGelatinousLiquid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 0.0001;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "lump" ) :),
        (: $3->set_short( "green lump" ) :),
        (: $3->set_long("This is a green lump, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("green") :),
        (: $3->set_medium_alias("GreenLump") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GoldenYellowSolid"] = item;
  if (!mapp(data["AquaFortis"])) data["AquaFortis"] = ([]);
  item = new( class reaction );
  item->ratio = 400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "aqua vitae" ) :),
        (: $3->set_long("This is some aqua vitae, "
              " about $pile_size$.  Very concentrated stuff.\n") :),
        (: $3->add_alias("aqua vitae") :),
        (: $3->set_medium_alias("AquaVitae") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["AquaFortis"]["GreenLump"] = item;
  if (!mapp(data["GreenLump"])) data["GreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_green_lump";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["GreenLump"]["HeatTransient"] = item;
  if (!mapp(data["HeatedGreenLump"])) data["HeatedGreenLump"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "milky liquid" ) :),
        (: $3->set_long("This is a milky liquid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective("milky") :),
        (: $3->set_medium_alias("UndistilledSheepPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slimesheep", 20) :)
    });
  data["HeatedGreenLump"]["Saffron"] = item;
  if (!mapp(data["Ectoplasm"])) data["Ectoplasm"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8,1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "gel" ) :),
        (: $3->set_short( "sickly green gel" ) :),
        (: $3->set_long("This is a sickly green gel, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["Ectoplasm"]["SheepUrine"] = item;
  if (!mapp(data["GreenGel"])) data["GreenGel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.8, 1.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "light green viscous fluid" ) :),
        (: $3->set_long("This is a light green viscous fluid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpideryGel") :),
        (: $3->add_adjective(({"sickly", "green"})) :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenGel"]["SpiderWeb"] = item;
  if (!mapp(data["HeatTransient"])) data["HeatTransient"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/d/sur/Haunted_House/transients/heated_tallow";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->start_reaction() :)
    });
  data["HeatTransient"]["Tallow"] = item;
  if (!mapp(data["HeatedTallow"])) data["HeatedTallow"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3, 0.7});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "goo" ) :),
        (: $3->set_short( "green-tinted goo" ) :),
        (: $3->set_long("This is a green-tinted goo, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("GreenTintedGoo") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["HeatedTallow"]["SpideryGel"] = item;
  if (!mapp(data["GreenTintedGoo"])) data["GreenTintedGoo"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.8,2.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "liquid" ) :),
        (: $3->set_short( "brown liquid" ) :),
        (: $3->set_long("This is a brown liquid, "
              " about $pile_size$.\n") :),
        (: $3->set_medium_alias("BrownLiquid") :),
        (: $3->add_eat_effect( "/std/effects/ingested/slime", 20) :)
    });
  data["GreenTintedGoo"]["PumpkinJuice"] = item;
  if (!mapp(data["BrownLiquid"])) data["BrownLiquid"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.0, 40.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "fluid" ) :),
        (: $3->set_short( "yellow flourescent fluid" ) :),
        (: $3->set_long("This is a yellow flourescent fluid, "
              " about $pile_size$.\n") :),
        (: $3->add_adjective(({"yellow", "flourescent"})) :),
        (: $3->set_medium_alias("UndistilledBabyPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/babyslime", 20) :)
    });
  data["BrownLiquid"]["OctironFilings"] = item;
  if (!mapp(data["Kibrit"])) data["Kibrit"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "powder" ) :),
        (: $3->set_short( "light yellow powder" ) :),
        (: $3->add_adjective(({"light", "yellow"})) :),
        (: $3->set_long("This is some light yellow powder, $amount_size$.\n") :),
        (: $3->set_medium_alias("KibritTalcum") :),
    });
  data["Kibrit"]["TalcumPowder"] = item;
  if (!mapp(data["AurumPotable"])) data["AurumPotable"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_solid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "solution" ) :),
        (: $3->set_short( "smelly milky-golden solution" ) :),
        (: $3->add_adjective(({"smelly", "milky-golden"})) :),
        (: $3->set_long("This is a smelly, milky-golden solution, "
             "$amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/frog_repellent",
              100) :),
        (: $3->set_medium_alias("FrogRepellent") :),
    });
  data["AurumPotable"]["KibritTalcum"] = item;
  if (!mapp(data["GroundVenom"])) data["GroundVenom"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["GroundVenom"]["Water"] = item;
  if (!mapp(data["VenomPoison"])) data["VenomPoison"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 400.0, 2400.0 });
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("poison") :),
        (: $3->set_short("deadly poison") :),
        (: $3->set_long("This is a pale coloured tea, $pile_size$.") :),
        (: $3->set_medium_alias("VenomCatalystPoison") :),
        (: $3->add_eat_effect("/std/effects/ingested/basic_healing",
                $1->query_eat_effects()["/std/effects/ingested/basic_healing"]
                  * this_player()->query_skill_bonus(
                        "magic.methods.physical.brewing")/10)
        :)
    });
  data["VenomPoison"]["GroundCatalyst"] = item;
  if (!mapp(data["GroundKlatchianFleabane"])) data["GroundKlatchianFleabane"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/generic_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("paste") :),
        (: $3->set_short("lavender paste") :),
        (: $3->set_long("This is $pile_size$ of lavender paste, " +
                        "$amount_size$.\n") :),
        (: $3->set_medium_alias("PastyKlatchianFleabane") :),
        (: $3->add_adjective("lavender") :)
    });
  data["GroundKlatchianFleabane"]["Water"] = item;
  if (!mapp(data["GroundStinkingMayweed"])) data["GroundStinkingMayweed"] = ([]);
  item = new( class reaction );
  item->ratio = ({ 1.0/50, 5.0/50 });
  item->result = "/obj/reagents/flea_salve.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_medium_alias("FleaSalve") :),
        (: $3->add_apply_effect("/std/effects/external/flea_cure",
                this_player()->query_skill_bonus(
                        "magic.methods.physical.healing")/20)
        :)
    });
  data["GroundStinkingMayweed"]["PastyKlatchianFleabane"] = item;
  if (!mapp(data["GroundParsley"])) data["GroundParsley"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "dark green tea" ) :),
        (: $3->add_adjective(({"dark", "green"})) :),
        (: $3->set_long("This is a dark green, fresh-smelling tea.\n") :),
        (: $3->set_medium_alias("ParsleyTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/breath_fresh") :),
    });
  data["GroundParsley"]["Water"] = item;
  if (!mapp(data["GroundSage"])) data["GroundSage"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.4,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "grey-green tea" ) :),
        (: $3->add_adjective(({"grey-green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a grey-green tea.\n") :),
        (: $3->set_medium_alias("SageTea") :),
    });
  data["GroundSage"]["Water"] = item;
  if (!mapp(data["FeatherStir"])) data["FeatherStir"] = ([]);
  item = new( class reaction );
  item->ratio = 0.25;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 0.8;
  item->func = ({
        (: $3->set_name( "potion" ) :),
        (: $3->set_short( "teal green potion" ) :),
        (: $3->add_adjective(({"teal","green"})) :),
        (: $3->set_long("This is a teal green potion.\n") :),
        (: $3->set_medium_alias("SageIntPotion") :),
        (: $3->add_eat_effect("/std/effects/ingested/int_bonus",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/30) :),
    });
  data["FeatherStir"]["SageTea"] = item;
  if (!mapp(data["GroundSpider"])) data["GroundSpider"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "purple tea" ) :),
        (: $3->add_adjective(({"purple"})) :),
        (: $3->set_long("This is a purple tea.\n") :),
        (: $3->set_medium_alias("SpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
    });
  data["GroundSpider"]["Water"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "green-blue tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"green-blue"})) :),
        (: $3->set_long("This is a green-blue tea.\n") :),
        (: $3->set_medium_alias("BasilTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["Water"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.3,0.6});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "greenish tea" ) :),
        (: $3->add_adjective(({"greenish"})) :),
        (: $3->set_long("This is a greenish tea.\n") :),
        (: $3->set_medium_alias("ThymeTea") :),
    });
  data["GroundThyme"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundSpider"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["SpiderTea"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["GroundFennel"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) )  :),
    });
  data["BasilFennelTea"]["GroundSpider"] = item;
  if (!mapp(data["FennelSpiderTea"])) data["FennelSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({6.67,20});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["FennelSpiderTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilSpiderTea"])) data["BasilSpiderTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilSpiderTea"]["FennelTea"] = item;
  if (!mapp(data["BasilFennelTea"])) data["BasilFennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilFennelTea"]["SpiderTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.7,2.3});
  item->result = "/obj/reagents/antidote_elixir";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/poison_antidote",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/2 +
    random(this_player()->
    query_skill_bonus("magic.methods.physical.brewing") ) ) :),
    });
  data["BasilTea"]["FennelSpiderTea"] = item;
  if (!mapp(data["GroundFennel"])) data["GroundFennel"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "pale yellow tea" ) :),
        (: $3->add_adjective(({"pale yellow"})) :),
        (: $3->set_long("This is a pale yellow tea.\n") :),
        (: $3->set_medium_alias("FennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundFennel"]["Water"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["GroundFennel"] = item;
  if (!mapp(data["GroundBasil"])) data["GroundBasil"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["GroundBasil"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({5,10});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["GroundBasil"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "light green tea" ) :),
        (: $3->add_adjective(({"light","green"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a light green tea.\n") :),
        (: $3->set_medium_alias("BasilFennelTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["FennelTea"] = item;
  if (!mapp(data["BasilTea"])) data["BasilTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "brown tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"brown"})) :),
        (: $3->set_long("This is a brown tea.\n") :),
        (: $3->set_medium_alias("BasilSpiderTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["BasilTea"]["SpiderTea"] = item;
  if (!mapp(data["FennelTea"])) data["FennelTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "muddy tea" ) :),
        (: $3->add_adjective(({"muddy"})) :),
        (: $3->set_long("This is a muddy tea.\n") :),
        (: $3->set_medium_alias("FennelSpiderTea") :),
        (: $3->add_property("potion",1) :),
        (: $3->add_eat_effect("/std/effects/ingested/cum_poison", 5) :),
        (: $3->add_eat_effect("/std/effects/ingested/weak_poison_cure") :),
    });
  data["FennelTea"]["SpiderTea"] = item;
  if (!mapp(data["GroundEyebright"])) data["GroundEyebright"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->add_adjective(({"yellow"})) :),
        (: $3->set_long("This is a yellow tea.\n") :),
        (: $3->set_medium_alias("EyebrightTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["GroundEyebright"]["Water"] = item;
  if (!mapp(data["GroundCarrot"])) data["GroundCarrot"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.6,0.8});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "orange tea" ) :),
        (: $3->add_adjective(({"orange"})) :),
        (: $3->set_long("This is a orange tea.\n") :),
        (: $3->set_medium_alias("CarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundCarrot"]["Water"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = 1;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect"):),
    });
  data["CarrotTea"]["EyebrightTea"] = item;
  if (!mapp(data["CarrotTea"])) data["CarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["CarrotTea"]["GroundEyebright"] = item;
  if (!mapp(data["EyebrightTea"])) data["EyebrightTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.25,1.6667});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "yellow-orange tea" ) :),
        (: $3->add_adjective(({"yellow-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a yellow-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["EyebrightTea"]["GroundCarrot"] = item;
  if (!mapp(data["EyebrightCarrotTea"])) data["EyebrightCarrotTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({3.0,4.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["EyebrightCarrotTea"]["GroundBunnyEyeball"] = item;
  if (!mapp(data["BunnyEyeballTea"])) data["BunnyEyeballTea"] = ([]);
  item = new( class reaction );
  item->ratio = ({1.5,2.0});
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->set_short( "red-orange tea" ) :),
        (: $3->add_adjective(({"red-orange"})) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_long("This is a red-orange tea.\n") :),
        (: $3->set_medium_alias("EyebrightCarrotBunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect",
    this_player()->
    query_skill_bonus("magic.methods.physical.brewing")/10) :),
    });
  data["BunnyEyeballTea"]["EyebrightCarrotTea"] = item;
  if (!mapp(data["GroundBunnyEyeball"])) data["GroundBunnyEyeball"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "tea" ) :),
        (: $3->add_property("potion",1) :),
        (: $3->set_short( "red tea" ) :),
        (: $3->add_adjective(({"red"})) :),
        (: $3->set_long("This is a red tea.\n") :),
        (: $3->set_medium_alias("BunnyEyeballTea") :),
        (: $3->add_eat_effect("/std/effects/ingested/blind_protect") :),
    });
  data["GroundBunnyEyeball"]["Water"] = item;
  if (!mapp(data["DriedSlug"])) data["DriedSlug"] = ([]);
  item = new( class reaction );
  item->ratio = ({0.1,0.2});
  item->result = "/d/sur/Scrogden/items/slugsoup";
  item->result_amt = 1.0;
  data["DriedSlug"]["Water"] = item;
  if (!mapp(data["GroundFloppyMadman"])) data["GroundFloppyMadman"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/400;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name( "water" ) :),
        (: $3->set_short( "pale brownish green water" ) :),
        (: $3->set_long("This is some pale green water, with "
                        "a brownish tint to it, about $pile_size$.\n") :),
        (: $3->set_medium_alias("SpellcheckPotion") :),
        (: $3->add_eat_effect( "/std/effects/ingested/potion_spellcheck",
            this_player()->query_skill_bonus(
               "magic.methods.physical.brewing" ) / 10 ) :)
    });
  data["GroundFloppyMadman"]["Water"] = item;
  if (!mapp(data["SecondSightPotion"])) data["SecondSightPotion"] = ([]);
  item = new( class reaction );
  item->ratio = 1.0/2500;
  item->result = "/obj/reagents/ss_test.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_duration(600) :),
        (: $3->set_final("morph") :),
        (: $3->set_result("/obj/reagents/water.ob") :),
        (: $3->set_result_amt(1.0) :),
        (: $3->add_picture_command() :),
        (: $3->start_reaction() :)
    });
  data["SecondSightPotion"]["Water"] = item;
  if (!mapp(data["RamtopsScumble"])) data["RamtopsScumble"] = ([]);
  item = new( class reaction );
  item->ratio = 2400/400.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("scumble") :),
        (: $3->set_short("sparkly scumble") :),
        (: $3->set_long("This is scumble with some sparkly "
               "sherbet traces in it, $amount_size$.\n") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("SherbetScumble") :),
    });
  data["RamtopsScumble"]["Sherbet"] = item;
  if (!mapp(data["GroundThyme"])) data["GroundThyme"] = ([]);
  item = new( class reaction );
  item->ratio = 200/2800.0;
  item->result = "/obj/reagents/generic_liquid.ob";
  item->result_amt = 1.0;
  item->func = ({
        (: $3->set_name("bomb") :),
        (: $3->add_adjective("thyme") :),
        (: $3->set_short("thyme bomb") :),
        (: $3->set_long("This is a thyme bomb, a drink that looks like "
                        "sparkly scumble, $pile_size$.") :),
        (: $3->add_eat_effect("/std/effects/ingested/drunk", 1500) :),
        (: $3->set_medium_alias("ThymeBomb") :),
        (: call_out( (: environment($1)->
           add_effect( "/w/dragonkin/effects/thyme_bomb", 
           ({ this_player()->
           query_skill_bonus("magic.methods.physical.brewing"), $1 }) ) :),
           1, $3 ) :),
        (: call_out( (: environment($1)->init() :), 2, $3 ) :)
    });
  data["GroundThyme"]["SherbetScumble"] = item;
  return data;
}