boss1.c

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

C
140
字号
// migong lev14

#include <ansi.h>

inherit NPC;


void create()

{
    
   set_name(BLU"孽龙"NOR, ({ "nie long" , "long" , "dragon" }));
                set("race", "野兽");
       set("long",
"一条丑陋不堪,凶残无比的巨龙。
它充斥着这整个洞穴,你顿觉空气的压抑,觉得它十分地可怕
。\n");
              set("attitude", "aggressive");
                set("vendetta/authority",1);

set("limbs", ({ "头部", "身体", "尾巴" }) );
        set("verbs", ({ "bite" , "claw"}) );
	       set("max_qi",50000+random(20000));
  set("max_jing",50000+random(20000));
  set("max_sen",50000+random(20000));
  set("max_mana",500000+random(20000));
    set("max_neili",50000+random(20000));
set("neili",50000+random(20000));

      set("dex",120);
      set("con",100);
     set("str" ,120);
       
    set("age", 150);

       set("shen_type", -1);

        set("intellgent",1);

	set("pursuer",1);

        set("combat_exp", 10000000+random(2000000));
            set_temp("apply/attack", 600);
        set_temp("apply/damage", 600);
        set_temp("apply/armor", 600);
        set_temp("apply/defence",600);
      set_skill("dodge", 600+random(100));

      set_skill("unarmed", 600+random(100));

       set_skill("dragon", 600+random(100));

      map_skill("unarmed", "dragon");

      map_skill("dodge", "dragon");

    prepare_skill("unarmed", "dragon");
 set("chat_chance_combat", 90);
        set("chat_msg_combat", ({
               
    (: perform_action, "unarmed.penhuo" :),
    (: perform_action, "unarmed.tuwu" :),
    (: perform_action, "unarmed.yaoyao" :),

 }) );
     
   setup();

    
    carry_object("/d/migong/obj/dan2");
	    

}

void init( )

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

void hunting()
{
	int i;
        object *ob;
        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 die()
{
        object ob, me, corpse;
        
        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((int)me->query("combat_exp") < 14000000)   {
if (random(20) < 1)
{
             corpse=new("/clone/gem/gem");
             message_vision("$N得到一颗亮晶晶的宝石。\n",me);
             command("rumor "+me->query("name")+"得到一颗"+corpse->query("name")+"!"NOR"。\n");
             corpse->move(me);
}

        message("vision", me->name() + "成功打死猎物增加了600经验和250潜能。\n", me);
        me->add("combat_exp",500);
        me->add("potential",250);
        destruct(ob);
        }
               destruct(ob);
        return;
}


int hit_ob(object me, object ob, int damage)
{
   if( random(damage) > (int)ob->query_temp("apply/armor")
	&&	(int)ob->query_condition("wugong_poison") < 10 ) {
		ob->apply_condition("wugong_poison", 40);
        tell_object(ob, HIG "你觉得被咬中的地方一阵麻痒!\n" NOR );
	}
}

⌨️ 快捷键说明

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