/* Filename : soberdrink.c
* Description : a special drink messing around with your money and exp
*
* written : 03-10-1996 - Gunner
* last modified : 27-05-1998 - Gunner
* HTML-Version : 04-02-2000 - Ghorwin
*/
#include <mudlib.h>
inherit I_DRINK;
#define FUNC "/doc/crashcourse/course07/soberfuncs"
create()
{
::create();
set_name("magical drink");
add_id(({"drink","magic drink"}));
set_short("A magical drink");
set_long("The drink seems to have some magical properties. But, what "
"it could do to you, is unknown...\n");
set_weight(1);
set_value(1000);
set_heal(0);
set_strength(0);
set_info("The drink makes you sober/unsoaked, but drains exp and money.\n");
add_property(({"hidden","magic"}));
add_hook("__drink",(:call_other,FUNC,"drink_sober":));
replace_program(I_DRINK);
}
/* Filename : soberfuncs.c
* Description : the functionfile for soberdrink.c
*
* written : 03-10-1996 - Gunner
* last modified : 27-05-1998 - Gunner
* HTML-Version : 04-02-2000 - Ghorwin
*/
#include <mudlib.h>
#include "/doc/crashcourse/defs.h"
inherit I_DAEMON;
/*
* drink_sober : Called by the __drink hook in soberdrink.c
*/
void
drink_sober()
{
tell_object(TP,"The drink tastes refreshing... But, what did it do?\n");
if (TP->query_money() <= 0)
return; // Heheh.. Nothing happened...
if (TP->query_money() > 5000)
TP->add_money(-5000);
else
TP->add_money(-TP->query_money());
if (TP->query_exp() > 5000)
TP->add_exp(-5000);
else
TP->add_exp(-TP->query_exp());
TP->add_intoxication(-TP->query_intoxication());
TP->add_soaked(-TP->query_soaked());
}