Exemplo n.º 1
0
int perform(object me, object target)                                           
{                                                                               
    object ob;
                                                                                
skill=me->query("functions/bluesea/level");
        if( !target ) target = offensive_target(me);                            
                                                                                
        if(skill < 30  )
            return notify_fail("�����׺����IJ������죬�޷����˳�����������Ҫ30����\n");      
        if( me->query_skill("superforce",1) < 110 )             
            return notify_fail("����챦���ķ��Ļ����δ�㹻����Ҫ110����\n");
                                                                                
        if(!(ob=me->query_temp("weapon")))
        {
            if(me->query_temp("secondary_weapon"))
            return notify_fail("�㲻�������޷�ʹ���������ģ���\n");
        }
        if(ob=me->query_temp("weapon"))                                         
        {                                                                       
            if((string)ob->query("skill_type") != "unarmed")
            return notify_fail("�㲻�������޷�ʹ����������!\n");
        }

        if(me->query("force")<300)
            return notify_fail("�������������\n");
        if(me->query("kee")<140)
            return notify_fail("�����������\n");
                                                                                
        if(!me->is_fighting(target))    
        {                                                                       
            tell_object(me,"������Ψ��ս���в���ʹ�á�\n");
            return 1;
        }
        if(target->is_busy())
        return notify_fail("���� busy �У��칥���ɡ�\n");     

        message_vision("$N�������ȵ������缱��һ������ܣ�$N���ջ��챦�������ص������ھ�,����һ����ȫ������������ !!\n\n",me,target);
        message_vision("$N�������������������˳�����������������·���ӿ��ͻ���� ��\n",me,target);                 
                                                                                
        me->add("force",-skill*2);

if(80>random(100))
        {
                message_vision("$n�������������ھ�����������գ�������ʧȥ�����ģ���\n",me,target);                                                                   
                message_vision( NOR,me);                                        
                target->start_busy(2);
                COMBAT_D->report_status(target);                                
        }                                                                       
        else                                                                    
        {
                message_vision("$næʹ��ǧ��׹����������ס���������������׾������ .��\n",me,target);                                                                            
                message_vision( NOR,me);                                        
                COMBAT_D->report_status(target);                                
        }
        message_vision("�������ơ�ʹ����$N��æ��Ϣ����������ս����",me,target); 
        me->start_busy(1);
        if(skill < 100) function_improved("bluesea",random(500));
        message_vision( NOR,me);                                                
        return 1;                                                               
}
Exemplo n.º 2
0
int perform(object me, object target)
{
	string msg;
	object ob;
	string *name;
        int fun=me->query("functions/firefinger/level");
	if( !target ) target = offensive_target(me);
    if(!target) return notify_fail("你找不到敌人!!\n");
//不能攻击自己by bss
    if(target==me) return notify_fail("攻击自己??找死吗?\n");
        if(me->query("class")!="poisoner")
        return notify_fail("只有魔教徒能用。\n");
	if(!me->is_fighting(target))
	return notify_fail("火云柔指要在战斗中才能使用。\n");
	if(me->query("force")<110)
	return notify_fail("你的内力不够。\n");
	if(me->query_skill("coldpoison",1)<30)
	return notify_fail("你的天冰奇毒火喉不够,无法使用火云柔指。\n");
	message_vision( HIR "$N身形一转,右手食指指尖散出红光,忽地一指伸出,往$n点去!\n",me,target);
if(80>random(100))
	{
message_vision( HIC "$n一发觉不妙,可惜已经来不及了,$N右手指尖已在$n划出一道伤痕。\n",me,target);
target->apply_condition("fire_poison",5);
target->receive_damage("kee",(100+(7*fun)));
	}
	else
	message_vision( HIC "$n发觉不妙,身子轻轻一纵,一个转身避了开去。\n",me,target);
	me->add("force",-100);
        me->start_busy(1);
if(fun<100) function_improved("firefinger",random(500));
	message_vision( NOR,me);
	return 1;
}
Exemplo n.º 3
0
int main(object me,string arg)
{
object target;
string st1;
int lolo,fun;
int jojo;
int sk=me->query_skill("coldpoison",1);
fun=me->query("functions/suck/level");
jojo=me->query("poison");
lolo=me->query_skill("poisonforce",1);
if (!arg||sscanf(arg,"%s",st1)!=1)
return notify_fail("指令格式: suck <毒>\n");
if (!(target=present(st1,me)))
    return notify_fail("你的身上没有这种毒, 你要吸什么?\n");
if (!target->query("poison_type"))
    return notify_fail("你老眼昏花了呀!?这是毒吗?\n");
if (me->query_condition("poison") > 0 )
   return notify_fail("吸太急会要人命喔 !\n");
if(sk<60)
return notify_fail("你天冰奇毒还没练到一定等级多加油吧。\n");
message_vision(HIW"$N伸出右手, 运功吸纳了"+target->name()+"的毒性。\n"NOR,me);
me->add("poison",random(30));
me->apply_condition("poison",3+(int)(fun/10));  
target->add_amount(-1);
if(fun<100) function_improved("suck",random(700));
return 1;
}
Exemplo n.º 4
0
int perform(object me, object target)                                           
{                                                                               
    object ob;
skill=this_player()->query("functions/bluesea/level");
        if( !target ) target = offensive_target(me);                            
        if(!target) return notify_fail("�Ҳ�������!!\n");
                                                                                
        if(skill < 60  )
            return notify_fail("�����׺����IJ������죬�޷����˳�����������Ҫ60����\n");      
        if( me->query_skill("superforce",1) < 110 )             
            return notify_fail("����챦���ķ��Ļ����δ�㹻����Ҫ110����\n");
                                                                                
        if(!(ob=me->query_temp("weapon")))
        {
            if(me->query_temp("secondary_weapon"))
            return notify_fail("�㲻�������޷�ʹ���������ģ���\n");
        }
        if(ob=me->query_temp("weapon"))                                         
        {                                                                       
            if((string)ob->query("skill_type") != "unarmed")
            return notify_fail("�㲻�������޷�ʹ����������!\n");
        }
        if(me->query("force")<200)
           return notify_fail("�������������\n");              
        if(me->query("kee")<140)                                      
           return notify_fail("�����������\n");                
                                                                                
        if(!me->is_fighting(target))                   
        {                                                                       
        tell_object(me,"������Ψ��ս���в���ʹ�á�\n");              
        return 1;
        }                                                                       
        if(target->is_busy())
        return notify_fail("���� busy �У��칥���ɡ�\n");
        message_vision("$N�������ȵ������糱ˮ��ؿ��ٱ��ߣ�$N����һ����Խ��Խ��!!\n\n",me,target);
        message_vision("��Ȼ$N�ھ�һ�ͣ�����������������Խ��Խ���������ϯ����� ��\n",me,target);
                                                                                
        me->add("force",-skill*3);

if(80>random(100))
        {                                                                       
        message_vision("$n������������ھ�����������ס���޷���������\n",me,target); 
        message_vision( NOR,me);                                        
        target->start_busy(3);
        COMBAT_D->report_status(target);                                
        }                                                                       
        else                                                                    
        {                                                                         
        message_vision("$n���������ܵ���Ӧ���ɵؽ�ȫ����ھ������������������������ϰ������� ��\n",me,target);                                                                            
        message_vision( NOR,me);                                        
        COMBAT_D->report_status(target);                                
        }
        message_vision("�������ơ�ʹ����$N��æ��Ϣ����������ս����",me,target); 
        me->start_busy(1);
        if(skill < 100) function_improved("bluesea",random(500));
        message_vision( NOR,me);                                                
        return 1;                                                               
}
Exemplo n.º 5
0
int perform(object me, object target)
{
       string msg;
       int ski_value, max_lv, a, i, b, damage, fun;
       ski_value= random(me->query_skill("rain-throwing",1));
       max_lv=me->query_skill("rain-throwing",1);
        fun=me->query("functions/manakee/level");

   if( !target ) target = offensive_target(me);

   if(me->query("quest/rain") != 1)
        return notify_fail("你还不会这一招,先找天魔解体大法吧\n");
  // 为了使当官不能用 所以加限 by swy
  if(me->query("family/family_name")!="黑牙联")
  return notify_fail("你不是杀手,所以不能用魔气杀。\n");

   if( me->query_skill_mapped("throwing")!="rain-throwing" )
         return notify_fail("你没有装备螫魂霸雨。 \n");
   if( me->query_skill("rain-throwing",1) < 20)
         return notify_fail("你的螫魂霸雨技巧不足。 \n");
   if( me->query_skill("throwing",1)< 20)
         return notify_fail("你的暗器不够纯熟。 \n");
   if(me->query("bellicosity")< 30)
         return notify_fail("你的杀意不够。\n");

   if( !target
        ||      !target->is_character()
        ||      !me->is_fighting(target) )
                return notify_fail("‘魔气杀’只能对战斗中的对手使用。\n");

  if( target->is_busy() )
 return notify_fail(""BOLD"你的杀气正缠着敌人,一时无法再凝聚强大杀气!"NOR"\n");
    if(me->query("kee") < 100*ski_value/10)
         return notify_fail("你身上的气不够你使出魔气杀!!\n");
   damage=target->query("max_kee")*4*ski_value/1000;
  if (damage > 1000) damage=1000;
    me->add("bellicosity",-(ski_value/5));

       message_vision(""HIR"$N自残己身,以杀意换成魔气。"NOR"\n
            "GRN"……$N身上发出一股强大的魔气……"NOR"\n
    "HIG"■$N身上魔气逐渐地聚集在双手,在双手上形成两团杀气■"NOR"\n
            $N倏地大喝一声--"HIC"‘魔气杀’"NOR"--\n\n",me,target);

     if( ski_value == random(max_lv) && target->query_temp("no_die_soon")!=1){
      message_vision(""RED"$N突然喉头一动~~ "MAG"只见$N口中喷出一道血柱往"+target->query("name")+"射去~~"NOR"\n
"HIB"$N使的乃魔气杀之"NOR"
              "BLU"终极~必杀奥义"NOR" ‘"HIY"魔血气杀"NOR"’\n
"HBGRN""+target->query("name")+"惨遭灭顶,但$N也支持不住了。"NOR"\n",me,target);
    target->set_temp("last_damage_from",me);
     target->die();
     me->set("sen",1);
     me->set("kee",1);  
     me->set("gin",1);  
     me->delete_temp("is_busy");//add by bss,有人说一出魔血气杀以后就出不了per了so add
function_improved ("manakee", random(me->query_skill("rain-throwing",1))*3);
return 1;
     }
Exemplo n.º 6
0
void remove_effect(object me, int amount)
{
        me->set_temp("gen",0);
        me->add_temp("apply/force", -4);
        me->add_temp("apply/move", -4);
        me->add_temp("apply/stick", -4);
        me->add_temp("apply/parry", -4);
        me->add_temp("apply/dodge", -4);
        me->add_temp("apply/unarmed", -4);
        tell_object(me,"�����ϵ�����������������������,ѹ��Ҳ��֮��ɢ��\n");
        if(skill < 50)
        function_improved("gen",random(700));
}
Exemplo n.º 7
0
void remove_effect(object me, int amount)
{
        if(!me) return ;
       me->set_temp("black",0);
       me->add_temp("apply/parry", -15);
       me->add_temp("apply/force", -5);
       me->add_temp("apply/move", -5);
       me->add_temp("apply/dodge", -5);
       me->add_temp("apply/unarmed", -15);
       tell_object(me,"���ڵ����������������ӵ�����ʧ��\n");
        if(skill < 100)
        function_improved("black",random(700));
}
Exemplo n.º 8
0
void remove_effect(object me, int amount)
{
        if(!me) return ;
        me->set_temp("green",0);
        me->add_temp("apply/force", -100);
        me->add_temp("apply/parry", -100);
        me->add_temp("apply/unarmed", -100);
        me->add_temp("apply/stick", -100);
        me->add_temp("apply/move", 50);
        me->add_temp("apply/dodge", 50);
        tell_object(me,"�����ϵ������������ع���������𽥻ָ�ε����\n");
        if(skill<250)
        function_improved("green",random(1200));
}
Exemplo n.º 9
0
void remove_effect(object me, int amount)
{
        if(!me) return ;
        me->set_temp("bluesea",0);
        me->add_temp("apply/parry", -30);
        me->add_temp("apply/unarmed", 20);
        me->add_temp("apply/stick", 20);
        me->add_temp("apply/force", -20);
        me->add_temp("apply/move", -20);
        me->add_temp("apply/dodge", -20);
        tell_object(me,"����ɢ����������׺�����ٿ����ʧ���١�\n");
        if(skill<100)
        function_improved("bluesea",random(800));
}
Exemplo n.º 10
0
int again(object me)
{
        object *enemy;
        int i,a,fun,gin,kee,sen;
        if(!me) return 1;
        enemy=me->query_enemy();
        i=sizeof(enemy);
        fun=me->query("functions/fast-dest/level");
        a=(int)(fun/10)+3;
        if(!me->query_temp("a")) {
        me->set_temp("a",a+1); }
        if(me->query_temp("fast-times")==me->query_temp("a")) {
        tell_object(me,sprintf(HIC"你的无影狂刀斩消失了。\n"NOR));
        me->delete_temp("fast-dest");
        me->delete_temp("a");
        me->delete_temp("fast-times");
        if(fun<100) function_improved("fast-dest",random(500));
        return 1; }
        while(i--) {
        if(!me||!enemy[i]) continue;
        message_vision(HIC"$N使出幔罗千叶刀法的精华 --- 无影狂刀斩,偷偷的向$n砍了一刀。\n" NOR, me, enemy[i]);
        if( environment(me) != environment(enemy[i]) )
        tell_object(enemy[i],sprintf(HIC"%s使出幔罗千叶刀法的精华 --- 无影狂刀斩,偷偷的向你砍了过来。\n" NOR,me->name()));
        if( 80 > random(100) ) {
        message_vision(HIR"$n闪躲不及,被$N的无影狂刀斩砍了一个大伤口,血流如注。\n" NOR, me, enemy[i]);
        if( environment(me) != environment(enemy[i]) )
        tell_object(enemy[i], sprintf(HIR"你闪躲不及,被%s的无影狂刀斩砍了一个大伤口,血流如注。\n"NOR, me->name()));
        if(me->is_fighting(enemy[i])) {
        kee = enemy[i]->query("kee")/35;
        if(kee > 150) kee=150;
        enemy[i]->receive_wound("kee",kee,me);
        sen = enemy[i]->query("sen")/20;
        enemy[i]->receive_damage("sen",sen,me);
        gin = enemy[i]->query("gin")/20;
        enemy[i]->receive_damage("gin",gin,me);
        enemy[i]->start_busy(1);
        COMBAT_D->report_status(enemy[i],1);
        }
        } else {
        message_vision(HIG "$n巧妙的闪过了$N的无影狂刀斩。\n" NOR, me, enemy[i]);
        if( environment(me) != environment(enemy[i]) )
        tell_object(enemy[i], sprintf(HIG "你巧妙的闪过了%s的无影狂刀斩。\n" NOR, me->name()));
        }
        }
        me->add_temp("fast-times",1);
        call_out("again", 2, me);
        return 1;
}
Exemplo n.º 11
0
int perform(object me, object target)
{
       string msg;
       int ski_value, max_lv, a, i, b, damage, fun;
       ski_value= random(me->query_skill("rain-throwing",1));
       max_lv=me->query_skill("rain-throwing",1);
        fun=me->query("functions/manakee/level");

   if( !target ) target = offensive_target(me);

   if( !target
        ||      !target->is_character()
        ||      !me->is_fighting(target) )
                return notify_fail("‘魔气杀’只能对战斗中的对手使用。\n");

  if( target->is_busy() )
 return notify_fail(""BOLD"你的杀气正缠着敌人,一时无法再凝聚强大杀气!"NOR"\n");

	if( !me->query("can_use_mobkee") )
	return notify_fail("你想作啥呀?\n");

   damage=target->query("max_kee")*4*ski_value/1000;
  if (damage > 1000) damage=1000;
    me->add("bellicosity",-(ski_value/5));

       message_vision(""HIR"$N自残己身,以杀意换成魔气。"NOR"\n
            "GRN"……$N身上发出一股强大的魔气……"NOR"\n
    "HIG"■$N身上魔气逐渐地聚集在双手,在双手上形成两团杀气■"NOR"\n
            $N倏地大喝一声--"HIC"‘魔气杀’"NOR"--\n\n",me,target);

     if( ski_value == random(max_lv) && target->query_temp("no_die_soon")!=1){
      message_vision(""RED"$N突然喉头一动~~ "MAG"只见$N口中喷出一道血柱往"+target->query("name")+"射去~~"NOR"\n
"HIB"$N使的乃魔气杀之"NOR"
              "BLU"终极~必杀奥义"NOR" ‘"HIY"魔血气杀"NOR"’\n
"HBGRN""+target->query("name")+"惨遭灭顶,但$N也支持不住了。"NOR"\n",me,target);
     target->receive_damage("kee", damage*3,me);

function_improved ("manakee", random(me->query_skill("rain-throwing",1))*3);
return 1;
     }
Exemplo n.º 12
0
int perform(object me, object target)
{
   object *enemy,weapon;
   int damage,i,fun;
   object victim;
   victim=this_player()->enemy();
   enemy=me->query_enemy();
   i=sizeof(enemy);
   fun=me->query("functions/swordkee/level");
if(me->query("class") != "swordsman")
  return notify_fail("���ְҵ�޷�ʹ��������\n");
if( me->query("force") < 250)
  return notify_fail("�������������\n");
if( me->query_skill("sword",1) < 70 )
  return notify_fail("��Ļ�������̫���ˡ�\n");
if( !me->is_fighting() )
  return notify_fail("����Ҫս���в���ʹ�á�\n");
if(!objectp(weapon=me->query_temp("weapon")) || (string)weapon->query("skill_type")!="sword")
  return notify_fail("Ҫ�н����ܷ�������\n");
if(fun==100) 
 {
    message_vision(HIC"$N���һ���������н���!!!\n\n"HIB"һ��"HIR"����"HIW"�Ƶ�"HIY"---"HIG"  ��"HIR"ʯ���쾪"HIG"��!!!\n\n"NOR,me);
damage=me->query_skill("sword",1)*7+random(200);
 }
else if(fun<=20) 
 {

message_vision("$N��������ע�ڽ��ϣ���Ȼһ��, ֻ�ӳ��������ǵĽ�����\n",me);
    damage=me->query_skill("sword",1);
 }
else if(fun<=40&&fun>=21) 
 {
    message_vision("$N��������ע�ڽ��ϣ���Ȼһ�ӣ����������ڳ�, ���ֻ��ڳ��������ˣ�\n",me);
    damage=me->query_skill("sword",1)*3/2;
 }
else if(fun<=60&&fun>=41) 
 {
    message_vision("$N��������ע�ڽ��ϣ���Ȼһ�ӣ���ʮ�������ڳ��������ֱ���������˷���\n",me);
    damage=me->query_skill("sword",1)*2;
 }
else if(fun<=80&&fun>=61) 
 {
    message_vision("$N��������ע�ڽ��ϣ���Ȼһ�ӣ�ֻ��һ��ҫ�۵���ͭ�����ڳ�ֱ���ڳ��������\n",me);
    damage=me->query_skill("sword",1)*3;
 }
else if(fun>=81&&fun<=99) 
 {
    message_vision("$N��������ע�ڽ��ϣ���Ȼһ�ӣ��ƽ�����ʱ����ȫ��, ��������ɢ�ֻ������֣�\n",me);
   damage=me->query_skill("sword",1)*4;
 }
  me->add("force",-50);
  me->start_busy(1);
  while(i--) {
  if(!me || !enemy[i]) continue;
if(environment(me)!=environment(enemy[i])) continue;   
    if(random(me->query_skill("sword"))*10>enemy[i]->query_skill("dodge")+enemy[i]->query_skill("parry"))
      {
        enemy[i]->receive_wound("kee",damage);
        message_vision(HIR"$N���㲻�����������������ϻ���һ��Ѫ���ܵ��˺ۣ�\n"NOR,enemy[i]);
        enemy[i]->start_busy(1);
        COMBAT_D->report_status(enemy[i],1);
      }
    else 
{
message_vision(YEL"$N����һ�����ܿ��˽�����\n"NOR,enemy[i]);
}
          }
if(fun<100) { function_improved("swordkee",random(300)); }
return 1;
}
Exemplo n.º 13
0
int perform(object me, object target)
{
    string msg,*name;
    object ob,weapon;
    int value,sk_lv,em_lv,level,skill,sub_force,hurt;
    if( !target ) target = offensive_target(me);
    if(!target) return notify_fail("你找不到敌人!!\n");
    if(!(weapon=me->query_temp("weapon"))
            ||      (string)weapon->query("skill_type")!="stabber" )
        return notify_fail("要有适合的武器才能用破穴针。\n");
    if(me->query_skill("yu-needle",1)<60)
        return notify_fail("你的七奇针诀程度不够,无法使用破穴指。\n");
    if(!me->is_fighting(target))
        return notify_fail("破穴指要在战斗中才能使用。\n");
    if(me->query("family/family_name")!="银针门")
        return notify_fail("这种武功只有银针门的门人才可以使用。\n");
    if((int)me->query("force")<150)
        return notify_fail("你的内力不够。\n");
    if(target->query_temp("break-kee"))
        return notify_fail("对方以经中了,破穴指了。\n");
    if(target->is_busy())
        level = 95;
    else
        level = 75;

    value = (int)query_function("break-kee");
    me->add("force",-150);
    sk_lv=me->query_skill("yu-needle",1);
    em_lv=target->query_skill("dodge"); //是算出enable dodge的值!!
    em_lv=em_lv /3;

    message_vision("
                   "HIW"                 $N气贯全身,以浑厚的内力运起「"HIG"七奇针诀"HIW"-"HIR"破穴指"HIW"-”\n\n"NOR""
                   ""HIC"                         $N将体内的真气凝聚于针,随即又使出~\n\n"NOR""
                   ""HIW"                                  "HIY"ζ "HIW"影 "HIM"幻."HIR"破 "HIG"穴 "HIC"针 "HIY"ζ\n\n"NOR""
                   ""HIY"                         突然间~$N手中的针尖泛起一簇"HIR"红色星芒"HIW"~\n\n"NOR""
                   ""HIW"                       只见$N身影身形百化,无数的"HIM"幻影"HIW"攻击着$n!!\n\n"NOR,me,target);
    value=random(value);
    sk_lv=random(sk_lv);
    sub_force=target->query("force");
    if(random(100)<level) {//对方若没有busy只有2成的成功率....有的话有七成 //提高命中率 by unfinished
        if((value > 80) && (sk_lv > em_lv))
        {
            message_vision(HIW"$N的破穴针,剌中了$n的膻中穴,身上的真气无法运行,使得攻击力、防御力、内力下降八成!!!\n" NOR,me,target);
            skill=80;
            message_vision(HIY"$N的破穴针,剌中了$n的膻中穴,劲力直透$n要害, 造成极大的伤害!!\n" NOR,me,target);
            hurt=target->query("max_kee")/10;
            if (hurt > 10000) hurt = 10000;  //用来辅助对付新区域的大型mob
            sub_force=(sub_force*80)/100;
            target->add_temp("apply/dodge",-skill);
            target->add_temp("apply/parry",-skill);
            target->add_temp("apply/attack",-skill);
            target->add("force",-sub_force);
            target->set_temp("break-kee",1);
            target->receive_damage("kee",hurt);
            call_out("remove_effect",10,target,skill);
        }
        else if((value > 60) && (sk_lv > em_lv)) {
            message_vision(HIW"$N的破穴针,剌中了$n的膻中穴,身上的真气无法运行,使得攻击力、防御力、内力下降八成!!!\n" NOR,me,target);
            message_vision(HIY"$N的破穴针,剌中了$n的膻中穴,劲力直透$n要害, 造成极大的伤害!!\n" NOR,me,target);
            hurt=target->query("max_kee")/10;
            if (hurt > 8000) hurt = 8000;  //用来辅助对付新区域的大型mob
            skill=80;
            sub_force=(sub_force*80)/100;
            target->add_temp("apply/dodge",-skill);
            target->add_temp("apply/parry",-skill);
            target->add_temp("apply/attack",-skill);
            target->add("force",-sub_force);
            target->set_temp("break-kee",1);
            target->receive_damage("kee",hurt);
            call_out("remove_effect",10,target,skill);
        }
        else if((value > 40) && (sk_lv > em_lv)) {
            message_vision(HIW"$N的破穴针,剌中了$n的巨阙穴,身上的真气无法运行,使得攻击力、防御力、内力下降六成!!!\n" NOR,me,target);
            message_vision(HIY"$N的破穴针,剌中了$n的膻中穴,劲力直透$n要害, 造成极大的伤害!!\n" NOR,me,target);
            hurt=target->query("max_kee")/10;
            if (hurt > 6000) hurt = 6000;  //用来辅助对付新区域的大型mob
            skill=60;
            sub_force=(sub_force*60)/100;
            target->add_temp("apply/dodge",-skill);
            target->add_temp("apply/parry",-skill);
            target->add_temp("apply/attack",-skill);
            target->add("force",-sub_force);
            target->set_temp("break-kee",1);
            target->receive_damage("kee",hurt);
            call_out("remove_effect",10,target,skill);
        }
        else if((value > 20 ) && (sk_lv > em_lv)) {
            message_vision(HIW"$N的破穴针,剌中了$n的气海穴,身上的真气无法运行,使得攻击力、防御力、内力下降四成!!!\n" NOR,me,target);
            message_vision(HIY"$N的破穴针,剌中了$n的膻中穴,劲力直透$n要害, 造成极大的伤害!!\n" NOR,me,target);
            hurt=target->query("max_kee")/10;
            if (hurt > 4000) hurt = 4000;  //用来辅助对付新区域的大型mob
            skill=40;
            sub_force=(sub_force*40)/100;
            target->add_temp("apply/dodge",-skill);
            target->add_temp("apply/parry",-skill);
            target->add_temp("apply/attack",-skill);
            target->add("force",-sub_force);
            target->set_temp("break-kee",1);
            target->receive_damage("kee",hurt);
            call_out("remove_effect",10,target,skill);
// target->start_call_out( (: call_other, __FILE__, "remove_effect", target, skill:), skill/2);
        }
        else {
            message_vision(HIW"$N的破穴针,剌中了$n的天突穴,身上的真气无法运行,使得攻击力、防御力、内力下降二成!!!\n" NOR,me,target);
            message_vision(HIY"$N的破穴针,剌中了$n的膻中穴,劲力直透$n要害, 造成极大的伤害!!\n" NOR,me,target);
            hurt=target->query("max_kee")/10;
            if (hurt > 2000) hurt = 2000;  //用来辅助对付新区域的大型mob
            skill=20;
            sub_force=(sub_force*20)/100;
            target->add_temp("apply/dodge",-skill);
            target->add_temp("apply/parry",-skill);
            target->add_temp("apply/attack",-skill);
            target->add("force",-sub_force);
            target->set_temp("break-kee",1);
            target->receive_damage("kee",hurt);
            call_out("remove_effect",10,target,skill);
        }
    }
    else
        message_vision(MAG"$n急使轻功!!千均一刻之际!!避开$N的可怕攻击!!!\n"NOR,me,target);

    message_vision(HIR"$N使出破穴针后!!内劲损耗过大,赶紧运气调息。\n"NOR,me);
    me->start_busy(1);
    COMBAT_D->report_status(target, 1);
    value = (int)query_function("break-kee");
    if(value < 100)
        function_improved("break-kee",random(me->query("max_force")/15+me->query_skill("yu-needle",1)/2));
    return 1;
}
Exemplo n.º 14
0
int perform(object me, object target)
{
        string msg;
        object ob;
        string *name;

        if( !target ) target = offensive_target(me);

        if(me->query_skill("dragonfist",1) < 50 )
              return notify_fail("你的降龙绝学不够纯熟,无法聚劲于指\n");
if((string)me->query_skill_mapped("force")!="siseforce")
                return notify_fail("战龙指必须配合降龙心法才能用。\n");
         
      if(!(ob=me->query_temp("weapon"))) 
        { if(me->query_temp("secondary_weapon"))
return notify_fail("要空手才能使用战龙指!!!\n");}
        if(ob=me->query_temp("weapon")) 
        {
if((string)ob->query("skill_type") != "unarmed")
return notify_fail("要空手才能使用战龙指!!!!\n");

          }
          if(me->query("force")<400)
                           return notify_fail("你的内力不够。\n");
                  if(me->query("kee")<200)
                           return notify_fail("你的气不够。\n");

        if(!me->is_fighting())  
        {
                tell_object(me,"战龙指只在战斗中才能使用。\n");
                return 0;
        }
        message_vision(
         HIB"$N忽然气劲暴涨,使出降龙绝学中的"RED"「战龙指”"HIB"只见$N身旁真气怒涛,降龙劲充斥在$N的指上\n"NOR,me,target);
        {
        message_vision(
            HIW"$N低吼一声,无形的指劲向$n狂射而出!!"NOR,me,target);
            me->add("kee",-30);
             me->add("force",-(100 - ((int)me->query_skill("dragonforce",1)))*3);
        if(random(me->query_skill("unarmed")+20)>random(target->query_skill("dodge")))
        {
                message_vision(
                 HIR"\n$n躲避不及,指劲击中,霎时$N的内劲在$n身上乱窜,痛苦异常!\n"NOR,me,target);
                message_vision( NOR,me);
                  target->receive_wound("kee",me->query_skill("dragonfist",1)*3+random(me->query_skill("dragonforce",1)*2));
                COMBAT_D->report_status(target);
        }
        else
      {
                message_vision(
                HIW"$n看出气指方向,千均一发一际,躲过‘战龙指’攻击!!\n"NOR,me,target);
                message_vision( NOR,me);
       }
        message_vision(
            "‘战龙指’射出后,$N大耗内劲、运功调息,无法移动\n",me,target);
        me->start_busy(2);
        me->kill_ob(target);
          function_improved("kang_strike",random(me->query("force")/10));
        message_vision( NOR,me);
        return 1;
  }
}
Exemplo n.º 15
0
int perform(object me, object target,object *enemy)
{
int fun,damage;
string msg;
string *name;
if( !target ) target = offensive_target(me);
if(me->query("class") != "killer")
return notify_fail("你的职业无法使用。\n");
if((me->query_skill("earth-kill",1) < 40))
return notify_fail("你的地斩修为不足,无法使出此奥义。\n");
if((string)me->query_skill_mapped("dagger")!= "earth-kill")
return notify_fail("里˙伊贺流奥义必须使用‘地斩’!!\n");
if( me->query("family/family_name") != "黑牙联" )
return notify_fail("里˙伊贺流奥义只有伊贺派的门人才可以使用。\n");
if(me->query("force")<300)
return notify_fail("你的内力不够。\n");
if(me->query("bellicosity")<50)
return notify_fail("你的杀气不够。\n");
if(!me->is_fighting(target))
return notify_fail("里˙伊贺流奥义只能在战斗中才能使用。\n");
fun=me->query("functions/earthkill/level");
damage=me->query("functions/manakee/level")+fun+me->query_skill("earth-kill",1);
message_vision(GRN"里 ˙ 伊 贺 流 奥 义"HIW" --"HIY"‘"YEL" 地    斩 "HIY"’\n\n"NOR,me);
if( 20 < random(100) )
{
message_vision(MAG"\n$n被$N的第一招奥义"RED"烈火蜂"MAG"击中, 造成极为严重的烧伤!!\n"NOR,me,target);
target->receive_wound("kee",damage);
target->apply_condition("burn",10);
me->add("force",-30);
me->add("bellicosity",-10);
COMBAT_D->report_status(target, 1);
if (fun > 20)
{
message_vision(MAG"\n$n被$N的第二招奥义"HIB"寒冰蝶"MAG"击中, 造成极为严重的冻伤!!\n"NOR,me,target);
target->receive_wound("kee",damage);
target->apply_condition("cold",10);
me->add("force",-30);
me->add("bellicosity",-10);
COMBAT_D->report_status(target, 1);
}
if (fun > 40)
{
message_vision(MAG"\n$n被$N的第三招奥义"HIY"毒  牙"MAG"击中, 造成极为严重的毒伤!!\n"NOR,me,target);
target->receive_wound("kee",damage);
target->apply_condition("snake_poison",10);
me->add("force",-30);
me->add("bellicosity",-10);
COMBAT_D->report_status(target, 1);
}
if (fun > 60)
{
message_vision(MAG"\n$n被$N的第四招奥义"HIW"气  戟"MAG"刺中, 造成极为严重的内伤!!\n"NOR,me,target);
target->receive_wound("kee",damage);
target->apply_condition("hart",10);
me->add("force",-300);
me->add("bellicosity",-50);
COMBAT_D->report_status(target, 1);
}
if (fun > 80)
{
message_vision(MAG"\n$n被$N的第五招奥义"HIR"血  刃"MAG"劈中, 造成极为严重的外伤!!\n"NOR,me,target);
target->receive_wound("kee",damage);
target->apply_condition("bleeding",10);
me->add("force",-300);
me->add("bellicosity",-50);
COMBAT_D->report_status(target, 1);
}
if (fun > 99)
{
message_vision(MAG"\n$n被$N的最终之奥义"HIC"空  蝉"MAG"劈中, 造成极为严重的震伤!!\n"NOR,me,target);
target->receive_wound("kee",damage);
target->start_busy(1);
me->add("force",-30);
me->add("bellicosity",-10);
COMBAT_D->report_status(target, 1);
} 
}
else
{
message_vision(HIC"\n$N在千均一刻之际,躲过地斩奥义的连续攻击!!\n"NOR,target);
}
message_vision(HIW"\n$N使出地斩奥义的连续攻击后内劲损耗过大, 蹲在一旁喘息。\n"NOR,me);
me->start_busy(1);
if(me->query("functions/earthkill/level") < 100)
{
function_improved("earthkill",random(50));
}
message_vision( NOR,me);
return 1;
}