⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qiankun-danuoyi.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 2 页
字号:
           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 + -