inherit "/std/effects/basic"; /* ok, weakest healing potion */ /* * NB: This potion is intended to cure 20-100 hps for 'standard' coordinate * and standard dose (100ml) */ create() { set_boundaries( ({ 0, 0 }), ({ 30, 30 }) ); } query_attrs(coord) { int total; total = coord[0] + coord[1]; return ({ 0, 100, /* NAME */ ({ }), /* COLS */ ({ ({ "light blue", total }) }), /* SMEL */ ({ ({ "mint", total }), ({ "toothpaste", total / 2 }) }), /* FLAV */ ({ ({ "mint", total }), ({ "toothpaste", total / 2 }) }) }); } action_drunk(ob, coord, quantity) { int total, heal; string desc; total = coord[0] + coord[1]; heal = (20 + random(80)) * total * quantity / (30 * 100); switch (heal) { case 0..35: desc = "ever so slightly less damaged"; break; case 36..70: desc = "slightly less damaged"; break; case 71..105: desc = "a touch more whole"; break; case 106..140: desc = "ever so slightly better"; break; case 141..175: desc = "a bit better"; break; case 176..210: desc = "better"; break; default: /* this effect is not intended to heal > 250 hp */ desc = "much better"; break; } tell_object(ob, "You feel " + desc + ".\n"); } action_smell(ob, coord, quantity) { tell_object(ob, "Your nose tingles pleasantly.\n"); }