Пример #1
0
int perform2(object me, object target)
{
  int damage, p,skill;
        string msg,weapon;
    weapon = me->query_temp("weapon");  
        if(!living(target)) 
          return notify_fail("对手已经不能再战斗了。\n");
         if( !target || !target->is_character()
           || !me->is_fighting(target) || !living(target) )
                return notify_fail("「神猴狂舞现在没对手了呀。\n");
          if( (int)me->query("force", 1) < 300 )
                return notify_fail("你待要再出第二击,却发现自己的内力不够了!\n");     
if (random(5)>2)
       msg = HIC"\n但见$N倒拖兵器,突然一个仰身,大喝一声,募的绕身回劈,$n眼前一黑!!\n"NOR;
else
        msg = HIG"\n但见$N倒拖兵器,突然狂啸一声,抡棍横扫,声势刚烈,$n早已吓慌了手脚!!\n"NOR;
        message_vision(msg, me, target); 
if (random(me->query("combat_exp")) > target->query("combat_exp")/4)
        {
       msg = CYN "$n惊骇之下,顿时出招散乱,无从招架!\n" NOR;
   

             me->start_busy(1);
                target->start_busy(1);
                damage = (int)me->query_skill("qianjun-bang", 1);
                damage = damage+(int)me->query_skill("force", 1);
                damage = damage*2 + random(damage*2);
 target->receive_damage("kee", damage,me);
                p = (int)target->query("kee")*100/(int)target->query("max_kee");
                msg += damage_msg(damage, "内伤");
                msg += "( $n"+eff_status_msg(p)+" )\n";
               target->set_temp("last_damage_from", me);
              if(me->query_skill("qianjun-bang", 1) > 179)
                {
             
                perform3(me,target);
                 }
        } else 
        {       me->start_busy(3);
                me->add("force", -200);                
                msg = WHT"可是$p料敌之先,抢攻几招,反逼$N连连后退。\n"NOR;
                if(me->query_skill("qianjun-bang", 1) > 179
                && me->query_skill("stick", 1) > 179)
                {
             
               perform3(me,target);
                 }
        }
        message_vision(msg, me, target);
        return 1;
}
Пример #2
0
int main(){
	int i,x,q;
	scanf("%d%d",&N,&Q);

	for(i = 0;i < N; i++){
		scanf("%d",&A[i].value);
		A[i].index = i;
	}

	preprocess();

	init(0,0,N-1);

        for (i = 0; i < 300; i++)
            printf("%d %d\n", i, T[i]);

	for(i = 0;i < Q; i++){
		scanf("%d%d",&q,&x);
		if(q == 1){
			perform1(x);
		}else if(q == 2){
			printf("%d\n",perform2(x));
		}else{
			perform3(x);
		}
	}
	if(Q == 1) return 1;

	return 0;
}