📄 qiankun-danuoyi.c
字号:
return notify_fail("你的体力不够练乾坤大挪移。\n"); if ((int)me->query("jing") < lvl) return notify_fail("你的精力不够练乾坤大挪移。\n"); if ((int)me->query("neili") < lvl) return notify_fail("你的精力不够练乾坤大挪移。\n"); if ((int)me->query_skill("qingfu-shenfa", 1) < 80) return notify_fail("你的青蝠身法火候太浅。\n");if ( lvl > 149){ me->receive_damage("jing", lvl/2); me->receive_damage("qi", lvl); me->add("neili", -lvl);} return 1;// return notify_fail("乾坤大挪移只能通过读<<乾坤大挪移>>心法提高。\n");}string perform_action_file(string action){ return __DIR__"qiankun-danuoyi/" + action;}int ob_hit(object ob, object me, int damage){ object wp,wp1, target; string msg; int p,j,skill, neili, neili1, exp, exp1; wp = me->query_temp("weapon"); wp1 = ob->query_temp("weapon"); skill = me->query_skill("qiankun-danuoyi", 1); neili = me->query("neili"); neili1 = ob->query("neili"); exp = me->query("combat_exp"); exp1 = ob->query("combat_exp");if (random(me->query_skill("jiuyang-shengong",1)) > 120&& me->query("neili") < me->query("max_neili")&& me->query_skill_mapped("force") == "jiuyang-shengong"){message_vision(HIR"$N运起九阳神功,全身内力源源不断的涌出!\n"NOR,me, ob);me->add("neili",random(me->query_skill("jiuyang-shengong",1))+100);}if (random(me->query_skill("jiuyang-shengong",1)) > 120&& me->query("qi") < me->query("max_qi")&& me->query_skill_mapped("force") == "jiuyang-shengong"&& random(2)==0){message_vision(RED"$N运起九阳神功,身上的伤好了很多!\n"NOR,me, ob);me->add("qi",random(me->query_skill("jiuyang-shengong",1))+180);if (me->query("eff_qi") < me->query("max_qi"))me->add("eff_qi",random(me->query_skill("jiuyang-shengong",1))+180);}if (random(me->query_skill("qiankun-danuoyi",1)) > 120&& me->is_busy()&& me->query_skill_mapped("force") == "jiuyang-shengong")&& random(2)=0{message_vision(HIC"$N暗运乾坤大挪移,本来忙乱的动作快了起来!\n"NOR,me, ob);me->start_busy(1);} if(me->query_temp("yi_ob") && living(me)){ target = present(me->query_temp("yi_ob"), environment(me)); me->delete_temp("yi_ob"); if(!target){ tell_object(me, HIY"你发现你想挪移的目标对象已经不在这里了。\n"NOR); return damage; } if(!living(target)){ tell_object(me, HIY"你发现你想挪移的目标对象已经昏迷不醒了。\n"NOR); return damage; } if(neili < 800){ tell_object(me, HIY"你正要挪移,却发现自己的真气不够了!\n"NOR); return damage; } message_vision(WHT"$N突然双手晃动击出阵阵气流,左拔右带要把$n的招数向旁边众人牵引!\n"NOR,me, ob); if(random(exp) < exp1/3){ me->add("neili", -125); message_vision(HIY"结果$n并没有受到干扰,反而顺势来到$N的侧面,发出强力的一击!\n"NOR,me, ob); return random(damage); } me->add("neili", -250); tell_room(environment(me), "结果引得"+ob->name()+"的力道直向"+target->name()+"冲击过去!\n",({ target,ob })); tell_object(target, HIR"结果你发现"+ob->name()+"的力道直向自己冲击过来!\n"NOR); tell_object(ob, HIR"结果你发现自己的力道直向"+target->name()+"冲击过去!\n"NOR); if(target->query_skill("dodge")>=damage) msg = HIY"结果$n没有受到任何伤害。\n"NOR; else{ target->receive_damage("qi", damage-target->query_skill("dodge"), ob); target->receive_wound("qi", damage-target->query_skill("dodge"), ob); p = target->query("qi")*100/target->query("max_qi"); msg = damage_msg(damage/2, "伤害"); msg += "( $n"+eff_status_msg(p)+" )\n"; } if(target->query("shen") < -1000 && !target->is_killing(ob->query("id"))){ if(random(target->query_int()) < 20) target->kill_ob(ob); else if(random(target->query_int()) > 30) target->fight_ob(me); } if(target->query("shen") > -1000 && !target->is_killing(ob->query("id"))){ if(random(target->query_int()) < 20) target->fight_ob(ob); else if(random(target->query_int()) > 30) target->fight_ob(me); } message_vision(msg, me, target); return -5000; } if(me->query_temp("fanzhen")){ me->delete_temp("fanzhen"); return 1; } if(me->query("jiali") && living(me) && random(exp) < exp1/3 && skill > 50 && neili > 500 && living(ob) && !ob->query("env/invisibility")){ if(random(2)==1) me->add_temp("fanzhen", 1); me->add("neili", -(random(10))); if(wp && wp1 && userp(me)){ msg = msg_weapon[random(sizeof(msg_weapon))]; msg = replace_string(msg, "$W", wp->name()); msg = replace_string(msg, "$w", wp1->name()); if(neili >= neili1*2+damage){ if(random(me->query_str()) > ob->query_str()/2 && skill > 150){ msg += HIW"结果$n一个抵挡不住,手中"+wp1->name()+HIW"脱手飞出!\n"NOR, me->add("neili", -50); wp1->unequip(); wp1->move(environment(ob)); j = -5000; } else{ if (damage>50){ ob->receive_damage("qi", damage/2?damage/2:10, me); ob->receive_wound("qi", damage/10 > 0?damage/10:2, me);} p = ob->query("qi")*100/ob->query("max_qi"); msg += damage_msg(damage/2, "伤害"); msg += "( $n"+eff_status_msg(p)+" )\n"; j = -5000; } } else if(neili >= random(neili1)*2+damage){ msg += "结果基本上卸掉了$n的力道。\n"; j = -5000; } else{ j = damage/2+random(damage/2); if(j<damage/2) msg += "结果卸掉了一些$n的力道。\n"; else msg += "结果卸掉了$n大半的力道。\n"; j = -j; } message_vision(msg, me, ob); return j; } else{ msg = msg_unarmed[random(sizeof(msg_unarmed))]; if(neili >= neili1*2+damage){if (damage>50){ ob->receive_damage("qi", damage/2?damage/2:10, me); ob->receive_wound("qi", damage/10 > 0?damage/10:2, me);} p = ob->query("qi")*100/ob->query("max_qi"); msg += damage_msg(damage, "内伤"); msg += "( $n"+eff_status_msg(p)+" )\n"; j = -5000; } else if(neili >= random(neili1)*2+damage){ msg += "结果基本上卸掉了$n的力道。\n"; j = -5000; } else{ j = damage/2+random(damage/2); if(j<damage/2) msg += "结果卸掉了一些$n的力道。\n"; else msg += "结果卸掉了$n一半的力道。\n"; j = -j; } message_vision(msg, me, ob); return j; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -