/* goodberry */ inherit "inherit/food"; reset(arg) { ::reset(arg); if(arg) return; set_name("goodberry"); set_alias("berry"); set_short("Goodberry"); set_long("This small berry is glowing red. It looks really juicy.\n"+ "You can't wait to eat it.\n"); set_weight(1); set_strength(3 * (random(4)+1)); /* 3 - 12 hp of healing */ } init(){ ::init(); add_action("put","put"); } status put(string str){ object ob; string bottle; int strength; if(str && sscanf(str,"goodberry in %s",bottle) == 1){ if((ob = present(bottle, this_player()))) { if(ob->query_alco_drink() || ob->query_soft_drink()){ write("The berry starts to ferment!\n"); if(ob->query_full()){ write("You fortify the "+(string)ob->query_name()+"!\n"); say((string)this_player()->query_name()+" adds a berry to the "+ (string)ob->query_name()+"!\n"); strength = (int)ob->query_strength(); } destruct(ob); ob = clone_object("inherit/alco_drink"); ob->set_name("goodberry liquor"); ob->set_alt_name("liquor"); ob->set_short("Goodberry Liquor"); ob->set_long("This is an attempt at moonshining some "+ "Berry Liquor!\n"); ob->set_strength(strength+8+random(8)); move_object(ob,this_player()); destruct(this_object()); return 1; } } } return 0; } query_domain_safe() { return 1; } status cast_spell(object caster,object target,object prev,int dmg) { write("You change the berry into a Goodberry.\n"); say("The berry "+ caster->query_name() +" is holding begins to glow softly.\n"); return 1; } /* Native Mode Move */ #include <move.h>