lev5.c

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

C
240
字号
#include <ansi.h>inherit NPC;string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});void create(){	mapping npc,mp,j;	int i,k,a,b,c,d,e,f,temp;   set_name(order[random(13)]+"皇家狮鹫"NOR, ({ "griffin"}));if (random(2)==0)	set("magicgift",5);else 	set("magicgift",6);	set("magicset",1);set("nickname",HIW"神圣联盟"NOR);       set("zhuanbest",1);       set("long","一只可怕的皇家狮鹫。\n");              set("attitude", "aggressive");                set("vendetta/authority",1);	       set("max_qi",500+random(500));	set("combat_exp",55000000+random(8000000));        set_skill("spells",490+random(300));        set_skill("force",490+random(300));	set_skill("unarmed",490+random(300));	set_skill("sword",490+random(300));	set_skill("club",490+random(300));	set_skill("whip",490+random(300));	set_skill("throwing",490+random(300));	set_skill("parry",490+random(300));      set_skill("magic-unarmed", 490+random(300));      set_skill("magic-sword", 490+random(300));      set_skill("magic-light", 490+random(200));      set_skill("magic-dark", 490+random(200));      map_skill("sword", "magic-sword");      map_skill("unarmed", "magic-unarmed");      map_skill("parry", "magic-unarmed");map_skill("spells", "magic-light");        set("no_get",1);b=8500+random(4500);a=10500+random(4500);d=48+random(60);set("str",d);set("dex",30+d);set("int",d);set("con",d);set("per",d);set("kar",d);        set("jing",b);        set("max_jing",b);set("eff_jing",b);        set("qi",a);        set("max_qi",a);set("eff_qi",a);        set("neili",a);        set("max_neili",a);           set("age", 15);        set("shen_type", -1);        set("intellgent",1);	set("pursuer",1);	set_temp("apply/attack",150);	set_temp("apply/defense",150);	set_temp("apply/armor",500);	set_temp("apply/damage",400); set("chat_chance_combat", 50);        set("chat_msg_combat", ({  (: perform_action, "spells.moonlight griffin" :), }) );     set("chat_chance", 30);        set("chat_msg", ({		(: command("get coin") :),		(: command("get silver") :),                (: random_move :),           }) );if (random(8)==0){set("nickname",HIY"武功高超"NOR);        set_skill("spells",650+random(300));        set_skill("force",650+random(300));	set_skill("unarmed",650+random(300));	set_skill("sword",650+random(300));	set_skill("club",650+random(300));	set_skill("whip",650+random(300));	set_skill("throwing",650+random(300));	set_skill("parry",650+random(300));}elseif (random(8)==0){set("nickname",MAG"魔法强大"NOR);      set_skill("magic-unarmed", 650+random(300));      set_skill("magic-sword", 650+random(300));      set_skill("magic-ice", 650+random(200));      set_skill("magic-water", 650+random(200));      set_skill("magic-fire", 650+random(200));      set_skill("magic-earth", 650+random(200));      set_skill("magic-light", 650+random(200));      set_skill("magic-dark", 650+random(200));}elseif (random(8)==0){set("nickname",HIB"经验丰富"NOR);set("combat_exp",50000000+random(48000000));}elseif (random(8)==0){set("nickname",HIR"强大不死"NOR);set("dex",300);        set("jing",600000);        set("max_jing",600000);        set("eff_jing",600000);        set("qi",600000);        set("max_qi",600000);        set("eff_qi",600000);        set("neili",600000);        set("max_neili",600000);	set("combat_exp",10000000);}elseif (random(8)==0){set("nickname",HIC"超级加强"NOR);d=88+random(88);set("str",d);set("dex",30+d);set("int",d);set("con",d);set("per",d);set("kar",d);}elseif (random(10)==0){set("dex",300);        set("jing",100000);        set("max_jing",100000);        set("eff_jing",100000);        set("qi",100000);        set("max_qi",100000);        set("eff_qi",100000);        set("neili",100000);        set("max_neili",100000);      set_skill("magic-unarmed", 650+random(300));      set_skill("magic-sword", 650+random(300));      set_skill("magic-ice", 650+random(200));      set_skill("magic-water", 650+random(200));      set_skill("magic-fire", 650+random(200));      set_skill("magic-earth", 650+random(200));      set_skill("magic-light", 650+random(200));      set_skill("magic-dark", 650+random(200));        set_skill("spells",650+random(300));        set_skill("force",650+random(300));	set_skill("unarmed",650+random(300));	set_skill("sword",650+random(300));	set_skill("club",650+random(300));	set_skill("whip",650+random(300));	set_skill("throwing",650+random(300));	set_skill("parry",650+random(300));set("nickname",HIC"完美无敌"NOR);d=88+random(88);set("str",d);set("dex",40+d);set("int",d);set("con",d);set("per",d);set("kar",d);}   setup();//carry_object(__DIR__"obj/sword")->wield();carry_object(__DIR__"obj/cloth")->wear();}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"))        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(RED"$N,倒地而亡,不动弹了。\n"NOR,ob,me);        if((int)me->query("combat_exp") < ob->query("combat_exp"))   {        message("vision", me->name() + HIG"成功消灭"+ob->query("name")+",增加了80经验和40潜能。\n"NOR, me);        me->add("combat_exp",80);        me->add("potential",40);        destruct(ob);        }                destruct(ob);        return;}int hit_ob(object me, object ob, int damage){string msg;        if(random((int)me->query("combat_exp")) > ob->query("combat_exp")/2)   {             ob->add("qi",-ob->query("qi")/40);             ob->add("eff_qi",-ob->query("eff_qi")/40);           ob->start_busy(2);           msg = RED"$N"RED"飞上天空猛冲下来,$n"RED"结果被扫中了!\n"NOR;            message_vision(msg, me, ob);}}

⌨️ 快捷键说明

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