示例#1
0
int do_repair(string arg)
{
        object obj,me;
        string file;

        me = this_player();

	if (!arg) return notify_fail("你要补什么东西?\n");        

	if( !objectp(obj = present(arg, me)) )
                return notify_fail("你要补什么东西?\n");

        if (!obj->query("armor_prop/armor") || obj->query("armor_prop/armor")<1)
                return notify_fail("这东西能补吗?\n");

        set_temp("busy",1);
        start_busy(2);
        file = resolve_path(this_object()->query("cwd"),arg);
        file = base_name(obj)+".c";

        remove_call_out("destroy_ob");
        call_out("destroy_ob", 1, obj);

        obj = new(file);
        write("双儿吁了一口长气,说道:“补好了,拿去吧,下次小心点哦。\n");
        obj->move(me);
	me->delete_temp("allow_repair");

        remove_call_out("enough_rest");
        call_out("enough_rest", 2);

        return 1;
}
示例#2
0
void busy_attack()
{
	object me = this_object();
	object * enemy;
	object target;
	int i,j,k=0,l=0;
	enemy = query_enemy();
	// cast ����ǧ�� ; annie 6.25.03
	message_vision(RED"\n��ȸ����һ����Х���䣬������\n��ȸ�ڿ���ת�����Σ�˫���Ķ�������������������������\n\n",me);
	for(i=0; i<sizeof(enemy); i++)
	{
		target = enemy[i];
		for (j=0;j<10;j++)
		{
			if (random(target->query("combat_exp") * 3 / 2) < random(me->query("combat_exp")) )
				l++;
			else if (random(target->query("combat_exp")) < random(me->query("combat_exp")))
				k += 1+random(200);
			// else... miss.
		}
		message_vision(RED"���$N",target);
		if (l)
		{
			message_vision("��������������µĻ���",target);
			if (target->query_busy() <= l)
				target->start_busy(l);
			if (wizardp(target))
				tell_object(target,"BUSY:"+l);
		}
		if (k)
		{
			message_vision("��"+chinese_number(k)+"�������յ���",target);
			target->receive_damage("kee",k*(5+random(5)),me);
			if (wizardp(target))
				tell_object(target,"DAMAGE:"+k);
		}

		if (l || k)
			message_vision("�ֵ���æ���ң�\n\n"NOR,target);
		else
			message_vision("�������ɵıܿ������еĻ���\n\n"NOR,target);
	}
	start_busy(3);
	return;
	// tough? weak? silencer...pls balance this perform,thanks :) ; annie
}
示例#3
0
int do_setname(string arg)
{
        object obj,me;

        me = this_player();

	if (!me->query_temp("allow_set"))
	  return notify_fail("这位"+RANK_D->query_respect(me)+"您请先付十两白银。\n");
	  
	if (!arg) return notify_fail("你要在什么兵器上刻名字?\n");        

	if( !objectp(obj = present(arg, me)) )
                return notify_fail("你要在什么兵器上刻名字?\n");

        if (!obj->query("weapon_prop/damage") || obj->query("weapon_prop/damage")<1)
                return notify_fail("这东西是兵器吗?\n");
//	if (obj->query("value")>=1000000)
	//        return notify_fail("这样兵器太贵重了,不能被刻字。\n");
        if (query_temp("busy"))
                return notify_fail("哟,抱歉啊,我这儿正忙着呢……您请稍候。\n");

        if (obj->query("owner"))
                return notify_fail(obj->query("name")+"上不是已经有字了吗?\n");


        set_temp("busy",1);
        start_busy(2);

	obj->set("long",obj->query("long")+"\n"+obj->query("name")+"上刻有:"+me->query("name")+"之兵器。\n");
        obj->set("short",obj->query("short"));
        obj->set("owner",me->query("id"));

        write("工匠抹了一把汗,说道:“刻好了,拿去吧。”\n");

	me->delete_temp("allow_set");

        remove_call_out("enough_rest");
        call_out("enough_rest", 2);

        return 1;
}
示例#4
0
int do_repair(string arg)
{
        object obj,me;
        string file;

        me = this_player();

	if (!arg) return notify_fail("你要补什么东西?\n");        

	if( !objectp(obj = present(arg, me)) )
                return notify_fail("你要缝补什么东西?\n");

        if (!obj->query("armor_prop/armor") || obj->query("armor_prop/armor")<1)
                return notify_fail("这东西能缝补吗?\n");

        if (obj->query("material")=="steel" || obj->query("material")=="iron")
                return notify_fail(CYN"小萍说道:您最好找双儿姐补这东西。\n"NOR);

        if (obj->query("shaolin"))
                return notify_fail(CYN"小萍说道:啊!这不是爹寺里....... 这臭东西打死我也不会碰一碰!!\n"NOR);

        set_temp("busy",1);
	start_busy(2);
        file = base_name(obj);

        remove_call_out("destroy_ob");
        call_out("destroy_ob", 1, obj);

	obj = new(file);
        write("小萍吁了一口长气,说道:“补好了,拿去吧,下次小心点哦。\n");
        if(obj) obj->move(me);
        me->delete_temp("allow_repair");
        
	remove_call_out("enough_rest");
	call_out("enough_rest", 2);
		
        return 1;
}