Circle::Circle(string str) : Ellipse(str) { this->str = str; perform2(); perform(); }
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; }
int perform(object me, object target) { object weapon1; string msg; int damage, p,time; if( !target ) target = offensive_target(me); if( !target || !target->is_character() || !me->is_fighting(target) || !living(target) ) return notify_fail("「神猴狂舞」只能在战斗中使用。\n"); if(me->query("family/family_name")!="方寸山三星洞"&&me->query("id")!="saturn") return notify_fail("你不是猴族的用不了这一招!\n"); if( !(weapon1 = me->query_temp("weapon")) || (string)weapon1->query("skill_type") != "stick" ) return notify_fail("你以为你是谁?没棒也发神猴狂舞!\n"); if( (int)me->query_skill("stick", 1) < 100 || (int)me->query_skill("qianjun-bang", 1) < 100 ) return notify_fail("你有的功夫还不够娴熟,不会使用「神猴狂舞」。\n"); if((int)me->query_skill("dodge", 1) <120) return notify_fail("以你现在的轻功修为如何「神猴狂舞」。\n"); if(me->query_skill_mapped("force")!="wuxiangforce") return notify_fail("你用的内功心法不对。。。\n"); if((int)me->query_skill("force", 1) <100) return notify_fail("以你现在的内功修为还使不出「神猴狂舞」。\n"); if( (int)me->query("max_force") < 1200 ) return notify_fail("以你现在的内功修为还使不出「神猴狂舞」。\n"); if( (int)me->query("force") < 600 ) return notify_fail("你的真气不够!\n"); if(me->query_temp("no_wu")) return notify_fail("舞得太快当心闪了腰。。。\n"); msg = HIY "\n$N使出方寸山绝技「神猴狂舞」,身法陡然加快!\n" NOR; if (random(me->query("combat_exp")) > random(target->query("combat_exp")/3)) { me->start_busy(1); target->start_busy(1); msg += YEL "\n$N忽然猛一吸气,抡棒回舞,向$n轻轻地劈出。\n"NOR; if (me->query("str") > random(target->query("str"))) { msg += HIR "\n但见$n大喝一声,欲以雄厚的内力震碎$N棍影所形成的气场!\n" NOR; msg += HIR "结果$n只来的急发出两、三招,就无法再应付澎湃的乱舞。\n" NOR; damage = (int)me->query_skill("qianjun-bang", 1); damage = damage*2 + random(damage*2); target->receive_damage("kee", damage,me); me->add("force", -(damage/4)); p = (int)target->query("kee")*100/(int)target->query("max_kee"); msg += damage_msg(damage, "内伤"); msg += "( $n"+eff_status_msg(p)+" )\n"; message_vision(msg, me, target); target->set_temp("last_damage_from", me); if(me->query_skill("stick", 1) > 119) { perform2(me,target); } } else { msg += HIC "初时似乎出手不重,但其波浪状的棍影后浪击前浪,一浪高过一浪,连绵不尽!\n"NOR; message_vision(msg, me, target); for (p=1;p<3+random(3);p++) COMBAT_D->do_attack(me, target, me->query_temp("weapon")); if(random(me->query_skill("qianjun-bang", 1))> 119) { perform2(me,target); } } } else { me->start_busy(3); me->add("force", -200); msg += HIG"可是$p伏地一滚,躲开了对手的攻击。\n"NOR; if(me->query_skill("qianjun-bang",1)>119) { perform2(me,target); } message_vision(msg, me, target); } return 1; }