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; }
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; }