// newdan.c 新手上路丹
// 99-11-10 15:04 By LionKing

#include <ansi.h>
inherit ITEM;

void init()
{
        add_action("do_eat", "eat");  
// 添加eat这个动作，为后面吃丹做准备。
}
void create()
{
        set_name(HIC"新手上路丹"NOR, ({"new dan", "dan"}));          
        set("unit", "颗");
        set("value", 10000);
        set("long", "这是一颗天上的神仙们送给刚进入江湖的新手吃的
仙丹，据说灵验无比，人间少有。\n");
        setup();
// 设定obj的描写。
}
int do_eat(string arg)
{
        object me=this_player();
// 设定me代表玩家。
        if (!id(arg))  return notify_fail("你要吃什么？\n");
// 查询eat动作的对象(obj id)是否正确。
        if (me->is_busy() )
                return notify_fail("别急，慢慢吃，小心别噎着了。\n");
// 查询玩家是否处于busy状态。
        if (me->query("tmarks/丹",1)>0)
                return notify_fail("搞什么啊，你吃过了还想吃？！\n");
// 查询玩家是否有吃过丹的mark,有的话返回失败。
        if (me->query("combat_exp")>0)
              return notify_fail("搞什么啊，你都不是新手了还想吃？！\n");
//   也可用上面这个条件来查询玩家的exp，exp大于0就认为不是新手。
      else
        {
        me->set("combat_exp", 5000);                    
// 设定玩家的exp为5000。
        me->set("potential", 5000);
// 设定玩家的潜能为5000。
        message_vision(HIW"$N吃下一颗新手上路丹，一股热流从丹田升起，顿时全身充满力量！\n"NOR,me);
// 设定吃丹后的同一房间内的人都能看见的描写。
        tell_object(me,HIY"冥冥中好象有人在你耳边说：“怎么样？爽吧？祝你一路好运！”\n"NOR,);
// 设定吃丹后玩家本人才能看见的描写。
        me->set("tmarks/丹",1);
// 设定吃过丹的mark,玩家quit后再进入此mark也不会消失。
// 如果采用查询玩家exp的条件可不要此句。
        me->start_busy(2);
// 设定吃丹后玩家开始busy 2。
        destruct(this_object());
// 设定丹被吃后本obj自毁。
        return 1;
}}
