boss.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 185 行

C
185
字号
// migong lev5

#include <ansi.h>

inherit NPC;


void create()

{
    
   set_name(HIG"独眼巨鳄"NOR, ({ "big boss" , "boss" }));
                set("race", "野兽");
       set("long",
"一只长着独了一只眼的的巨鳄。
。\n");
              set("attitude", "aggressive");
                set("vendetta/authority",1);

set("limbs", ({ "头部", "身体", "尾巴" }) );
        set("verbs", ({ "bite" , "claw" }) );
	       set("max_qi",4000+random(2000));
  set("max_jing",4000+random(2000));
  set("max_qi",4000+random(2000));
  set("max_mana",4000+random(2000));
  
      set("dex",100);
     set("str" ,100);
       
    set("age", 15);

       set("shen_type", -1);
set("no_get",1);
        set("intellgent",1);

	set("pursuer",1);

        set("combat_exp", 1000000);
                  
        set_temp("apply/attack", 200);
        set_temp("apply/damage", 200);
        set_temp("apply/armor", 200);
        set_temp("apply/defence", 200);

   setup();

    
}


void init( )
{
	object ob;	
        remove_call_out("hunting");
	if( interactive(ob = this_player())  ) {
ob->start_busy(3);
        call_out("hunting",0);
        }
	if(!environment()->query("no_fight") && random(10) < 5)
        call_out("hunting",0);
}



void hunting()
{
	int i;
        object *ob;
if (!environment(this_object())) return;
        ob = all_inventory(environment());
        for(i=sizeof(ob)-1; i>=0; i--) {
        if( !ob[i]->is_character() || ob[i]==this_object() || !living(ob[i])) continue;
        if(ob[i]->query("vendetta/authority")) continue;
                kill_ob(ob[i]);
                ob[i]->fight(this_object());
        }
}
void unconcious(){    die();}
void die()
{
        object ob, me, corpse,obj;
        int exp,pot,score,i;
        ob = this_object();
        me = query_temp("last_damage_from");
if (!me) return;   
              me->add("score",1);
        message_vision(WHT"$N啪的一声瘫倒在地上。\n"NOR,ob,me);
        if( objectp(corpse = CHAR_D->make_corpse(this_object())) )
        corpse->move(environment(this_object()));me->add("combat_exp",random(12));me->add("potential",random(8));
if (me->query("migong/lev1"))
{
if( !environment(me)->query("no_fight")
&& random(3)==1)
{
		obj = new("/clone/npc/antirobot"+(2+random(2)));
		obj->test_robot(me);
}
else 
{
		obj = new("/clone/npc/antirobot"+(2+random(2)));
		obj->test_robot(me);
}
}
if (!me->query("migong/lev1"))
{
me->set("migong/lev1",1);
message("channel:chat", HIM"【江湖谣言】听说"+me->name() + "完成了迷宫第一层!"NOR"。\n", users());exp = 80000+random(25000);pot = exp/2;score = random(300)+100;
             me->add("combat_exp",exp);             me->add("potential",pot);             me->add("score",score);
tell_object(me,HIW"你被奖励了:\n" +             chinese_number(exp) + "点实战经验\n"+             chinese_number(pot) + "点潜能\n" +            chinese_number(score)+"点江湖阅历\n"NOR);
i=random(8);
	if (i==7) {        if ( me->query("per")< 60)        {	me->add("per",1);tell_object(me,HIM"以及一点容貌。\n"NOR);        }	}	else if (i==6) {
        if ( me->query("kar")< 60)        {	me->add("kar",1);tell_object(me,HIM"以及一点福缘。\n"NOR);        }	}	else if (i==5) {
        if ( me->query("dex")< 60)        {	me->add("dex",1);tell_object(me,HIM"以及一点身法。\n"NOR);        }	}	else if (i==4) {
        if ( me->query("str")< 60)        {	me->add("str",1);tell_object(me,HIM"以及一点力量。\n"NOR);        }	}	else if (i==3) {
        if ( me->query("per")< 60)        {	me->add("per",1);tell_object(me,HIM"以及一点容貌。\n"NOR);        }	}	else if (i==2) {
        if ( me->query("kar")< 60)        {	me->add("kar",1);tell_object(me,HIM"以及一点福缘。\n"NOR);        }	}	else if (i==1) {
        if ( me->query("con")< 60)        {	me->add("con",1);tell_object(me,HIM"以及一点根骨。\n"NOR);        }	}	else if (i==0) {
        if ( me->query("int")< 60)        {	me->add("int",1);tell_object(me,HIM"以及一点悟性。\n"NOR);        }	}	else if (me->query("per")< 100) {
	me->add("per",1);tell_object(me,HIM"以及一点容貌。\n"NOR);	}}
        if((int)me->query("combat_exp") < 1000000)   {
        message("vision", me->name() + "成功打死猎物增加了400经验和200潜能。\n", me);
        me->add("combat_exp",400);
        me->add("potential",200);
        destruct(ob);
        }
               destruct(ob);
        return;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?