Пример #1
0
       	(: growup() :),
  }) ); 
	
	set_skill("unarmed", 700);
	set_skill("iron-cloth", 200);
	set_skill("yiqiforce", 100);
	set_skill("dodge", 400);
	set_skill("force",100);
	set_skill("parry", 400);
	set_skill("wolf-curse",200);
	set_skill("cursism",200);
	set_skill("summonwolf",300);
	set_skill("perception",400);
	map_skill("unarmed","yiqiforce");
	map_skill("cursism","wolf-curse");
	map_skill("force","yiqiforce");
	
	set("combat_exp", 13000000);
  set("staff",1);              
  set_temp("apply/attack", 200);
  set_temp("apply/dodge", 200);
  
	setup();
	  
  	if (!query("claw_set")) {
			if (!random(5)){
				staff=new(__DIR__"obj/wolf-fist");
				staff->move(this_object());
				staff->wield();
				staff->set("nodrop_weapon");
				set("claw_set",2);
			}	
			else
Пример #2
0
void unconcious()
{
	object defeater;

	if( !living(this_object()) ) return;
	if( wizardp(this_object()) && query("env/immortal") ) return;
	
	if( objectp(defeater = query_temp("last_damage_from")) )
	{
		COMBAT_D->winner_reward(defeater, this_object());
		// cyz&kitten 99/05/08 to check who fainted victim
		if(userp(defeater))
		set_temp("last_fainted_from", defeater->query("id"));
	}

	this_object()->remove_all_enemy();
// xuy, interrupt all dazuo, jingzuo etc.
	this_object()->interrupt_me();

	this_object()->dismiss_team();
	message("system", HIR "\n你的眼前一黑,接著什么也不知道了....\n\n" NOR,
		this_object());
	this_object()->disable_player(" <昏迷不醒>");
	set("jing", 0);
	set("qi", 0);
	set("jingli", 0);
	set_temp("block_msg/all", 1);
	COMBAT_D->announce(this_object(), "unconcious");

	call_out("revive", random(100 - query("con")) + 30);
}
Пример #3
0
               (: smart_fight() :),
        }) );        
        set_skill("perception",200);  
        set_skill("move", 120);
        set_skill("force", 120);
        set_skill("unarmed", 180);
        set_skill("sword", 130);
        set_skill("parry", 130);
        set_skill("dodge", 130);
        set_skill("spells",100);
        set_skill("qixing",100);                        
        set_skill("taijiforce", 130);
        set_skill("five-steps",120);
        set_skill("taiji",140);
        set_skill("three-sword",135);
        map_skill("spells","qixing");
        map_skill("unarmed","taiji");
        map_skill("force", "taijiforce");
        map_skill("dodge","five-steps");
        map_skill("move","five-steps");
        map_skill("parry","three-sword");
        map_skill("sword","three-sword");
        
        set_temp("apply/dodge", 30);
        set_temp("apply/armor", 30);
        setup(); 
        carry_object(__DIR__"obj/silversword")->wield();
        carry_object("/obj/armor/cloth")->wear();
} 
Пример #4
0
varargs int move_player(mixed dest, string message, string dir) {
   object prev;
   int res;
   
   prev = environment( this_object() );
 
   if( res = move(dest) != MOVE_OK ) {
      write("You remain where you are.\n");
      return res;   }
 
 
   if(message == "SNEAK") {
     set_temp("force_to_look", 1);
     command("look");
     set_temp("force_to_look", 0);
   return 0; } 
 
   if(!query("invisible")) {
 
      if (message == 0 || message == "") {

        if(dir && dir != "") {
           tell_room(prev, (string)this_object()->query_mout(dir) + "\n",
                        ({ this_object() }));
           say((string)this_object()->query_min() + "\n", ({ this_object() }));
        } else {
Пример #5
0
void			fill_cone(t_env *env, int fd)
{
	char	*line;
	char	*temp;
	int		i;

	i = 0;
	while (get_next_line(fd, &line) == 1 && i < OBJ.num_cone)
	{
		if (*line != '#')
		{
			temp = line;
			temp = set_temp(++temp, 'R');
			set_vector(&CONES[i].rot, temp);
			temp = set_temp(temp, 'P');
			set_vector(&CONES[i].p, ++temp);
			temp = set_temp(++temp, 'V');
			set_vector(&CONES[i].v, ++temp);
			rotate_cone(env, i);
			temp = set_temp(++temp, 'a');
			CONES[i].alpha = ft_atoi(++temp);
			temp = set_temp(++temp, 'm');
			CONES[i].shape.material = ft_atoi(++temp);
			i++;
		}
		free(line);
	}
}
Пример #6
0
varargs int receive_wound(string type, int damage, mixed who)
{
	int val;

	if( damage < 0 ) error("F_DAMAGE: 伤害值为负值。\n");
	if( type!="jing" && type!="qi" )
		error("F_DAMAGE: 伤害种类错误( 只能是 jing, qi 其中之一 )。\n");

	set_temp("last_damage_from", who);
	
	
	if(living(this_object()) && objectp(who) && userp(who)) 
		set_temp("last_eff_damage_from", who->query("id"));
	
	val = (int)query("eff_" + type) - damage;

	if( val >= 0 ) set("eff_" + type, val);
	else {
		set( "eff_" + type, -1 );
		val = -1;
	}

	if( (int)query(type) > val ) set(type, val);

	set_heart_beat(1);

	return damage;
}
Пример #7
0
               (: smart_fight() :),
        }) );        
          
        set_skill("move", 200);
        set_skill("force", 200);
        set_skill("spells", 150);
        set_skill("unarmed", 200);
        set_skill("sword", 200);
        set_skill("parry", 150);
        set_skill("dodge", 150);
        set_skill("magic",150);
        set_skill("whip",200);        
        set_skill("qidaoforce", 150);
        set_skill("five-steps",180);
        set_skill("thunderwhip",180);
        set_skill("pofeng-strike",180);
                
        map_skill("unarmed","pofeng-strike");
        map_skill("force", "qidaoforce");
        map_skill("dodge","five-steps");
        map_skill("move","five-steps");
        map_skill("whip","thunderwhip");
        map_skill("parry","thunderwhip");
        
        
        set_temp("apply/dodge", 30);
        set_temp("apply/armor", 30);
        setup(); 
        add_money("gold", random(3));
        carry_object("/obj/armor/cloth")->wear();
        carry_object(__DIR__"obj/w_whip")->wield();
} 
Пример #8
0
void unconcious()
{
  object defeater, officer;
  if( !living(this_object()) ) return;
  if( wizardp(this_object()) && query("env/immortal") ) return;
  if( this_object()->query_temp("pk_fight") ) {
      if( !(officer = find_living("pkla officer")) )
          return;
      officer->pk_lose(this_object());
      return;
  }
  if( objectp(defeater = query_temp("last_damage_from")) )
    COMBAT_D->winner_reward(defeater, this_object());
  this_object()->remove_all_enemy();
  message("system", HIR "\n你的眼前一黑,接着什么也不知道了....\n\n" NOR,
    this_object());
  this_object()->disable_player(" <昏迷不醒>");
  set("gin", 0);
  set("kee", 0);
  set("sen", 0);
	set_temp( "block_msg/all", 1 );
	set_temp( "block_cmd/all", 1 );
  set_temp("unconcious", 1);
  COMBAT_D->announce(this_object(), "unconcious");
  call_out("revive", random(100 - 2*query("con")) + 30);
}
Пример #9
0
void kill_ob (object ob)
{
  set_temp("no_return",1);
  set_temp("my_killer",ob);
  ::kill_ob(ob);
  call_out ("move_to_cave",1,this_object());
}
Пример #10
0
Файл: li1.c Проект: mudchina/fy4
               (: smart_fight() :),
        }) );        
        set_skill("perception",200);  
        set_skill("move", 120);
        set_skill("force", 120);
        set_skill("unarmed", 180);
        set_skill("sword", 150);
        set_skill("parry", 150);
        set_skill("dodge", 150);
        set_skill("spells",100);
        set_skill("qixing",100);                        
        set_skill("taijiforce", 150);
        set_skill("five-steps",150);
        set_skill("taiji",180);
        set_skill("taiji-sword",160);
        
        map_skill("spells","qixing");
        map_skill("unarmed","taiji");
        map_skill("force", "taijiforce");
        map_skill("dodge","five-steps");
        map_skill("move","five-steps");
        map_skill("parry","taiji-sword");
        map_skill("sword","taiji-sword");
        
        set_temp("apply/dodge", 30);
        set_temp("apply/armor", 30);
        set_max_encumbrance(800000);
        setup(); 
        carry_object(__DIR__"obj/heavysword")->wield();
        carry_object("/obj/armor/cloth")->wear();
} 
Пример #11
0
string ask_me(object who)
{
	int i;
	object *ob;

	if( query("revealed") ) {
		if( is_killing(who) ) return "你既然知道了我的身分,今日休想活命!\n";
		else {
			kill_ob(who);
			who->fight_ob(this_object());
			return "老子就是血手刘三,血手刘三就是你老子!纳命来!\n";
		}
	}

	if( (random(10) < 5)
	||	!is_fighting() )
		return "我...不知道!\n";
	set_temp("apply/attack", 70);
	set_temp("apply/dodge", 50);
	set_temp("apply/parry", 60);
	set_temp("apply/damage", 20);
	set("title", "野羊山寨二寨主");
	set("nickname", HIR "血手刘三" NOR);
	message("vision",
		HIY "刘安禄眼中突然放出异样的光芒,颤声说道:看来...你都知道了?\n\n"
		"刘安禄大喝一声,叫道:既然如此,老子今天豁出去了,纳命来!\n" NOR
		"刘安禄使开单刀,招数精奇,沈猛狠辣,和刚才简直判若两人!\n",
		environment(), this_object() );
	set("pursuer", 1);
	set("attitude", "aggressive");
	set("vendetta/authority", 1);
	set("chat_msg_combat", ({
		(: random_move :)
	}) );
Пример #12
0
               (: busy_attack() :),
        }) );

	set_temp("apply/attack",350);
	set_temp("apply/dodge",1);
	set_temp("apply/parry",1);
	set_temp("apply/armor",1);

	setup();
}
Пример #13
0
//给被doctor起死回生的人用的 by bss
void relive()
{
  message("system", HIR "\n你的眼前一黑,接着什么也不知道了....\n\n" NOR,
    this_object());
  this_object()->disable_player(" <昏迷不醒>");
  set("gin", 0);
  set("kee", 0);
  set("sen", 0);
	set_temp( "block_msg/all", 1 );
	set_temp( "block_cmd/all", 1 );
  set_temp("unconcious", 1);
  COMBAT_D->announce(this_object(), "unconcious");
  call_out("revive", random(100 - 2*query("con")) + 30);
}
Пример #14
0
varargs void revive(int quiet)
{
	remove_call_out("revive");
	while( environment()->is_character() )
		this_object()->move(environment(environment()));
	this_object()->enable_player();
	if( !quiet ) {
		COMBAT_D->announce(this_object(), "revive");
		set_temp("block_msg/all", 0);
		message("system", HIY "\n慢慢地你终于又有了知觉....\n\n" NOR,
			this_object());
	} else
		set_temp("block_msg/all", 0);
}
Пример #15
0
int do_open(string arg)
{
        object me=this_player(), room;

        if(!arg || arg!="door")
                return notify_fail("你要开什么?\n");

        if( query_temp("lock") == 1 && !present("key", me) )
                return notify_fail("你想怎么开门?\n");

        if(!( room = find_object("/u/yuki/room/taoyuan")) )
                room = load_object("/u/yuki/room/taoyuan");

        if(!objectp(room))
                return notify_fail("ERROR:not found 'taoyuan.c' \n");

        if(query_temp("lock") == 1 && present("key", me))
        {
                set_temp("lock", 0);
                message_vision("$N把钥匙插进锁孔,轻轻一转,锁开了。\n", me);
                message("vision", "外面传来一阵开锁的声音,只听见‘卡嗒’一声,锁开了。
  \n",room);
}
   message_vision("$N推开门,眼前一阵强烈的光线。门自己关上了。\n",me);
   message("vision", "有人走了进来,门在身后自动关上了。\n",room);
   me->move(room);
   return 1;
}
Пример #16
0
int inquiry_dao()
{
        object me=this_player();
        object ob;

        if (present("cut knife",me))
        {
            message_vision("你就别寻老头子开心了,你身上不是也有一把吗?\n", me);
            return 1;
        }
        if( query_temp("buyed")==0 )
        {
            message_vision("这位大爷,实在不是我舍不得这刀,小人一家就全靠它过\n"
                  "日子了,给了你,叫我怎么过活啊!\n", me);
            return 1;
        }
        if( query_temp("buyed")==1 )
        {
            message_vision("既然好心人想要,就给你吧,本来史婆婆要我好好保管的,\n"
                  "你可千万别瞎送给别人,否则她会生气的。\n", me);
            ob=new("/d/xiakedao/obj/knife");
            ob->move(me);
            message_vision("樵夫递给你一把柴刀!\n", me);
            set_temp("buyed", 0);
        }
Пример #17
0
int wakeup1 (object me,object where)
{
    object who = this_player();
    int phase = get_current_day_phase();

    if (random(5))
    {
        wakeup(me,where);
        return 0;
    }
    if (phase > 0 && phase < 5)
    {   wakeup(me,where);
        return 0;
    }

    me->enable_player();
    while( environment(me)->is_character() )
        me->move(environment(environment(me)));
    me->set_temp("block_msg/all", 0);
    message_vision ("$N大叫一声,醒了过来。连忙叫:徒弟!徒弟!\n",me);
    set("inquiry/meng" , (: to_meng :) );
    set("inquiry/梦",  (: to_meng :) );
    set_temp("have_dream",1)		;
    return 1;
}
Пример #18
0
int do_move(string str)
{
if(!str || str != "box")
return notify_fail("你要移动什么?\n");
if(this_player()->query("family/family_name")=="雪苍派"||this_player()->query("family/family_name")=="魔刀门"||
this_player()->query("family/family_name")=="魔刀莫测") {
if(this_player()->query("combat_exp")>300000) {
if(!query_temp("box_moved")) {
set_temp("box_moved",1);
message_vision("$N移动了箱子,发现箱子下面竟然出现了一个按钮(button)。\n",this_player());
    return 1;
        }
        else {
                delete_temp("box_moved");
                message_vision("$N将箱子移回原位。\n", this_player());
                if(query("exits/down"))
                  delete("exits/down");
    return 1;
        }
        }
message_vision("你的经验值不够移动箱子。\n",this_player());
        return 1;
        }
message_vision("你不是雪苍或本门弟子,所以不能移动箱子。\n",this_player());
        return 1;
}
Пример #19
0
varargs int receive_damage(string type, int damage, object who)
{
        int val;
        int reduction,r_damage;
         
//  if( damage < 0 ) error("F_DAMAGE: 伤害值为负值。\n");
        if (damage <0) damage =0;
        if( type!="gin" && type!="kee" && type!="sen" )
                error("F_DAMAGE: 伤害种类错误( 只能是 gin, kee, sen 其中之一 )。\n"); 
           if (query("resistance/"+type) || query_temp("resistance/"+type)){
                reduction=query("resistance/"+type) + query_temp("resistance/"+type);
                damage=damage-damage*reduction/100;
        } 
        if( objectp(who) ) set_temp("last_damage_from", who);
        val = (int)query(type) - damage;
        
//      这个是用来记录NPC作战对手的伤害力。精神的计算值x2,对玩家虽然有记录,但是没有现实意义。 
        if (who) {
                if (query("kee")==query("max_kee") && query("eff_kee")==query("max_kee")
                        && query("kee")==query("max_kee") && query("eff_kee")==query("max_kee")
                        && query("kee")==query("max_kee") && query("eff_kee")==query("max_kee"))
                        damage_list=([]);       // NPC 复原时清零。
        
                if (type!="kee") r_damage=damage*2;
                        else r_damage=damage;
                if( !mapp(damage_list) )
                        damage_list = ([ who : r_damage ]);
                else  
                        damage_list[who]=damage_list[who]+r_damage;
        }
Пример #20
0
void create()
{
	set("short", "空地");
	set("long", @LONG
这是大厅前的空地,旁边放了些兵器架、沙袋以及几个木桩。地上
铺满了飘落的树叶和干草。四周装点着青青翠竹,错落有致。旁边有一
口水井、一把水瓢,井水清澈,散发着阵阵凉气。西边是武器库。东边
有一间储藏室,房门(door)关闭着。北边是『白驼山庄』的大厅。南边
就是大门了。
LONG);
	set("resource/water", 1);
	set("exits", ([
		"northup" : __DIR__"dating",
		"west"    : __DIR__"wuqiku",
		"south"   : __DIR__"damen",
	]));
	set("outdoors", "baituo");
	set("no_clean_up", 0);
	set("item_desc", ([
	    "door" : (: look_gate :),
	]));
	set_temp("lock",1);

	set("coor/x", -50010);
	set("coor/y", 20020);
	set("coor/z", 20);
	setup();
//	replace_program(ROOM);
}
Пример #21
0
void create()
{
	set("short","明教大殿");
	set("long", @LONG
走进这里,突感一阵肃穆之意,大殿中十分空旷,殿顶高悬八盏金
灯,两旁是精壮佩剑武士剑气森严逼人。正中设一宝座,前有一雕花檀
木案,案头供明教圣火令(ling)六枚。宝座后立有一扇玉屏,屏中所画
正是明教圣火图,烈焰直逼日月。宝座上端坐一人,着布衣而显高贵,
含笑不怒而自威,正是明教教主张无忌。
LONG );
	set("exits",([
	    "south" : __DIR__"qiandian",
	    "enter" : __DIR__"neishi",
	]));
	set_temp("tieling",8);
	set("objects",([
		CLASS_D("mingjiao")+"/zhangwuji":1,
		CLASS_D("mingjiao")+"/yangxiao":1,
		CLASS_D("mingjiao")+"/fanyao":1,
		CLASS_D("mingjiao")+"/yintianzheng":1,
		CLASS_D("mingjiao")+"/xiexun1":1,
		CLASS_D("mingjiao")+"/weiyixiao":1,
	]));
	set("coor/x", -52030);
	set("coor/y", 1070);
	set("coor/z", 110);
	setup();
}
Пример #22
0
int do_open(string arg)
{
	object me=this_player(), room;
	object *inv;
	int j;

	if(!arg || arg!="door") return notify_fail("你要开什么?\n");
	if( query_temp("lock") == 1 && !present("key", me) )
		return notify_fail("钥匙都没有,怎么开门?\n");
	if(!( room = find_object(__DIR__"storeroom")) )
		room = load_object(__DIR__"storeroom");
	inv = all_inventory(me);
        for (j = 0; j < sizeof(inv); j++)
            {
              if (inv[j]->is_character())
                  {
                   return notify_fail("屋子里位置有限,挤不下那么多人。\n");
                    }
             }
	if(!objectp(room))
		return notify_fail("ERROR:not found 'storeroom.c' \n");
	if(query_temp("lock") == 1 && present("key", me))
	{
		set_temp("lock", 0);
		message_vision("$N把钥匙插进锁孔,只听见‘卡嗒’一声,锁开了。\n", me);
		message("vision","外面传来一阵开锁的声音,只听见‘卡嗒’一声,锁开了。\n",room);
	}
	message_vision("$N轻轻推开门,走了进去,随手把门掩了起来。\n",me);
	message("vision", "有人走了进来,随手把门掩上了。\n",room);
	me->move(room);
	return 1;
}
Пример #23
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;
}
Пример #24
0
void create()
{
        generate_name();
        set_weight(1);
        set("unit", "丸");
        set("long", "一丸微现宝光的仙丹,有急救延命的神效。\n");
        set("value", 100000+ random(1000000));
        set("no_get", 1);
        set("no_give", 1);
        set("no_drop", 1);
        set("no_sell", 1);
        set("no_burn", 1);
        
        set_temp("to_cure", "none");
        set_temp("cure", 5);            
        ::init_item();
} 
Пример #25
0
		(: bite()  :),     
        }) );
    	    	     
		set("combat_exp",100000);
        set_skill("dodge", 200);
        set_temp("apply/attack",100);
        setup();
}
Пример #26
0
int accept_object(object who, object ob)
{
        command("smile");
        message_vision("谢谢好心的大爷,好人有好报。\n", who);
        if( ob->query("money_id") && ob->value() >= 3000  )
           set_temp("buyed", 1);
        return 1;
}
Пример #27
0
varargs int receive_damage(string type, int damage, object who)
{
  int val;
  if( type!="gin" && type!="kee" && type!="sen" )
    error("F_DAMAGE: 伤害种类错误( 只能是 gin, kee, sen 其中之一 )。\n");
  if( objectp(who) ) set_temp("last_damage_from", who);
  else{
    if(this_player())
      if(living(this_player()))
        set_temp("last_damage_from",this_player());
  }
  if(query(type)<0){
    if(!query_temp("last_damage_from")) //如果到死都找不到是谁下的手
      set_temp("last_damage_from",this_object()); //就当作是自杀的吧 by bss
    return 1;
  }
  if( damage < 0 ) error("F_DAMAGE: 伤害值为负值。\n");
if((query_temp("mana_shield")||query_temp("mana_shield2")||query_temp("mana_shield3")||query_temp("mana_shield4"))&&type=="kee")
  {
     if( query("atman")>50)
     {
         type = "atman";
     }/*else{
         delete_temp("mana_shield");
                 delete_temp("mana_shield2");
     }*/
  }
  if(query_temp("woody"))
  {damage=0;
   message("system",HIG"敌人的攻击对妳而言根本不值一晒..\n\n" NOR,
    this_object());
   }
  if(query_temp("no_armor_effect"))
    this_object()->delete_temp("no_armor_effect");
  else
    damage=cal_damage(this_object(),damage);
  val = (int)query(type) - damage;
   if( val >= 0 ) { set(type, val); }
   else if( type == "atman") { set(type,0); delete_temp("mana_shield"); delete_temp("mana_shield2");delete_temp("mana_shield3");delete_temp("mana_shield4");}
   else set(type,-1);
  if(query(type) <0 && !query_temp("last_damage_from"))
    set_temp("last_damage_from",this_object());
  set_heart_beat(1);
  return damage;
}
Пример #28
0
	        (: do_bone_spirit() :),
        }) ); 

        set("combat_exp", 300000000);
        set("bellicosity",1000000 );

        set_skill("force", 220);
        set_skill("dodge", 220);
        set_skill("unarmed", 220);
        set_skill("staff", 220);
        set_skill("parry", 220);           
        set_temp("apply/attack", 2000);
        set_temp("apply/parry", 1500);
        set_temp("apply/damage", 2000);

        setup();
        carry_object(__DIR__"obj/bone_staff")->wield();
} 
Пример #29
0
int accept_fight(object me)
{
        object weapon;

        if (me->query("opinion/" MY_OPINION) == ULTRA_OPINION)
        {
                message_vision(CYN "$N" CYN "对$n" CYN "道:“很"
                               "好,你也算是宗师高手了,来吧!咱"
                               "们比划一下!”\n" NOR,
                               this_object(), me);
                return 1;
        }

        if (! me->query_temp("want_opinion/shenni"))
        {
                command("say 你干什么要和我动手?");
                return 0;
        }

        command("look " + me->query("id"));

        COMBAT_D->do_attack(this_object(), me, 0);

        if (me->query("qi") <= 0)
        {
                message_vision(CYN "\n$N" CYN "摇摇头对$n" CYN
                               "道:“你现在的武功还差得远,连"
                               "我一招都接不住!”\n" NOR,
                               this_object(), me);
                return notify_fail("看来要好好的修炼功夫了。\n");
        }

        message_combatd(HIC "$N" HIC "右掌伸出,正和$n" HIC "手"
                        "掌相对,两人同时运起内力,不一会儿只见"
                        "二人头上生起腾腾雾气。\n忽然$N" HIC "手"
                        "掌一撤、收回功力,没有一点阻滞,不禁让"
                        "$n" HIC "大为愕然。\n" NOR, this_object(),
                        me);
        if (me->query("neili") < 3000)
        {
                message_vision(CYN "\n$N" CYN "摇摇头对$n" CYN
                               "道:“适才你内力不足,我难以衡"
                               "量,待你将内力修炼好了再来吧!"
                               "”\n" NOR, this_object(), me);
                return notify_fail("看来还是回去锻炼一下内力吧!\n");
        }
        me->set("neili", 0);
        

        call_out("check_opinion", 2, me);
        set_temp("opinion", me);
        me->delete_temp("want_opinion");
        message_vision(CYN "\n$N" CYN "一摆手道:“好了,待我想"
                       "想。”\n" NOR, this_object(), me);
        return notify_fail("看来不能心急,还得等一会儿。\n");
}
Пример #30
0
static void	set_material(t_env *env, char *temp, int i)
{
	temp = set_temp(temp, 'r');
	env->obj.mats[i].diffuse.r = 1.0f * ft_atoi(++temp);
	if (env->obj.mats[i].diffuse.r != 0)
		env->obj.mats[i].diffuse.r /= 255;
	temp = set_temp(++temp, 'g');
	env->obj.mats[i].diffuse.g = 1.0f * ft_atoi(++temp);
	if (env->obj.mats[i].diffuse.g != 0)
		env->obj.mats[i].diffuse.g /= 255;
	temp = set_temp(++temp, 'b');
	env->obj.mats[i].diffuse.b = 1.0f * ft_atoi(++temp);
	if (env->obj.mats[i].diffuse.b != 0)
		env->obj.mats[i].diffuse.b /= 255;
	temp = ft_strchr(++temp, '*');
	env->obj.mats[i].reflection = 1.0f * ft_atoi(++temp);
	if (env->obj.mats[i].reflection != 0)
		env->obj.mats[i].reflection /= 10.0f;
}