ES2 MUD LIB :: 東方故事二(ES2) 天朝帝國 mudlib 瀏覽展示

/obj/medication/alchemist/green_pill.c

HOME :: obj :: medication :: alchemist :: green_pill.c
// green_pill.c

inherit COMBINED_ITEM;

void do_cure_poison(object me);

void create()
{
set_name("甘靈清毒丹", ({"green pill", "pill"}));
if( !clonep() ) {
set("unit", "些");
set("long",
"甘靈清毒丹是一種清熱解毒的丹藥,由黃芩, 川貝母, 木通, 飛滑石\n"
"等多種藥材鍊製而成, 為相當普遍的解藥藥物之一。\n");
set("base_unit", "粒");
set("base_value", 650);
set("base_weight", 5);
set("mixture_value", 100);
set("produce_param", ([
"min_heat_power" : 85,
"max_heat_power" : 230,
"min_heat" : 150,
"max_heat" : 200,
]));
set("cure_poison", ([
"金" : -1, "水" : -1, "火" : -1, "土" : -1, "木" : -1,
"damage" :   -1,
]));
set("requirement", ([
"literate" : 5,
"alchemy-medication" : 15,
]));
}
set_amount(1);
setup();
}

int stuff_ob(object me)
{
if( me->query_stat_maximum("food") - me->query_stat("food") < 20)
return notify_fail("你的肚子已經撐得連這粒藥丸也吞不下去了。\n");
message_vision("$N吞下一粒甘靈清毒丹。\n", me);
me->consume_stat("water", 10);
me->supplement_stat("food", 5);
me->supplement_stat("sen", 2);
do_cure_poison( me );
add_amount(-1);
return 1;
}

void do_cure_poison(object me)
{
        mixed cnd_data;
        object ob;
        ob=this_object();
        cnd_data = me->query_condition("poison");

if ( me->query_condition("poison") == 0 ) {
tell_object(me, "你吞下這顆藥丸, 但是卻沒什麼感覺。\n");
} else {
if ( ob->query("cure_poison/damage") )
cnd_data["damage"] = cnd_data["damage"] + 
ob->query("cure_poison/damage");
                if (cnd_data["damage"] <= 0 ){
                        me->delete_condition("poison");
                tell_object(me, 
"你吞下這顆藥丸後, 身體的不適已經完全消除了。\n");
                        return;
                }
                else {
                tell_object(me, 
"你吞下這顆藥丸後, 身體的不適感似乎稍微減輕了。\n");
                }
                return;
        }
}
HOME :: obj :: medication :: alchemist :: green_pill.c