⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 partykiller.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
#include <ansi.h>
inherit NPC;

int do_copy(object me,int flag);
int do_back(object me);
void yun_zhao(); 

void create()
{
      string weapon;
        set_name("黑衣人", ({ "heiyi ren","ren"}));
        set("gender", "男性");
        set("age", random(20) + 25);
        set("str", 23);
        set("con", 26);
        set("int", 20);
        set("dex", 23);
        set("long", "一个穿着黑色夜行衣的人。\n");
        set("combat_exp", 80000 + random(40000)); 
        set("attitude", "friendly");
           
        set("max_qi", 450); 
        set("eff_jingli", 400); 
        set("neili", 700); 
        set("max_neili", 700);
        set("jiali", 30);
	    set("chat_chance_combat", 50);
        set("chat_msg_combat", 
			({ 
             (: yun_zhao :),
            }));
     
        setup();
        carry_object("/clone/cloth/cloth")->wear();
}

int do_copy(object me,int flag)
{
        int i,j;
        object ob;
        ob = this_object();
        i = me->query_skill("dodge",1);
        j = me->query_skill("force",1);
        i = i>j?i:j;
		if(flag==0)
		i = i - random(20);
		else 
	    i = i + random(20);
        if( i < 60) i = 60;
   
        ob->set("combat_exp", (me->query("combat_exp")+random(me->query("combat_exp")))*3/4);
        ob->set("max_qi",     ob->query_skill("force")*6); 
        ob->set("eff_jingli", me->query("eff_jingli")*2/3); 
        ob->set("max_neili",  ob->query_skill("force")*8); 
        ob->set("jiali", ob->query_skill("force")/6);
        ob->reincarnate(); 
        ob->set("qi",ob->query("max_qi"));
        ob->set("neili",ob->query("max_neili"));
		call_out("do_back", 350,  ob);  
        return 1;
}
int do_back(object me)
{                       
  tell_room(environment(me), me->query("name")+"匆匆忙忙的离开了。\n", ({me}));	
  destruct(me); 
  return 1;
}

void yun_zhao()
{	object me,weapon;
    mapping prepare;
    string attack_skill;
	me=this_object();
    prepare = me->query_skill_prepare();
	weapon=me->query_temp("weapon");
	if (!prepare) prepare = ([]);
    if ( sizeof(prepare) == 0) attack_skill = "unarmed";
	if ( sizeof(prepare) == 1) attack_skill = (keys(prepare))[0];
	if ( sizeof(prepare) == 2) attack_skill = (keys(prepare))[me->query_temp("action_flag")];
	if ( weapon ) attack_skill = weapon->query("skill_type");
	attack_skill=me->query_skill_mapped(attack_skill);
    command("beizhao "+sprintf("%d",random(5)+1)+" "+
		               sprintf("%d",random(5)+1)+" "+
					   sprintf("%d",random(5)+1)+" for "+attack_skill);
	command("beizhao "+sprintf("%d",random(10)+1)+" "+
		               sprintf("%d",random(10)+1)+" "+
					   sprintf("%d",random(10)+1)+" for "+attack_skill);
    //command("beizhao 1 for shenghuo-lingfa");
//	me->set_temp("skill_name",me->query_skill_mapped(attack_skill));
//	me->set_temp("zhao_count",1);
//	me->set_temp("zhaoshu"+sprintf("%d",0),4);
	command("yunzhao");
}
void die()
{
	object corpse;
	mixed killer;
	if( !living(this_object()) ) revive(1);
	else delete_temp("faint_by");
	COMBAT_D->announce(this_object(), "dead");
	if( !(killer = query_temp("last_damage_from")) )
	killer = "莫名其妙地";
	if( objectp(corpse = CHAR_D->make_corpse(this_object(), killer)) )
	corpse->move(environment());
	set_temp("last_damage_from", "莫名其妙地");
    corpse->set_temp("must_killby",this_object()->query_temp("must_killby"));
	this_object()->remove_all_killer();
	all_inventory(environment())->remove_killer(this_object());
    destruct(this_object());
}
   



⌨️ 快捷键说明

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