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

📄 lonely-sword.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
📖 第 1 页 / 共 2 页
字号:
                                     HIR "$N" HIR "手中" + weapon->name() + HIR "犹"                                     "如生了眼睛一般,一剑随意挥出,竟直刺向$n" HIR                                      "小腹,看似平淡,但方位、力道却拿捏得恰倒好处。\n" NOR;             }             break;          case 3:             message_vision(HIC "\n$N" HIC "随意挥洒手中的" + weapon->name() +                            HIC ",招招从出其不意的方位直指$n" HIC "招式中的"                            "破绽!\n" NOR, me, victim);             if (! me->is_busy() && random(lvl)> 180)             {                  weapon = me->query_temp("weapon");                  weapon2 = victim->query_temp("weapon");                  if (random(ap) > dpp/2 && weapon2                      && !weapon2->query("ownmake") )                  {                           msg = HIW "$n" HIW "觉得眼前眼花缭乱,手中"                                 "的" + weapon2->name() + HIW "一时竟"                                 "然拿捏不住,脱手而出!\n" NOR;                           weapon2->move(environment(me));                                 me->add("neili", -100);                                   } else                  {                           msg = HIY "$n" HIY "略得空隙喘息,一时间却"                                 "也无力反击。\n" NOR;                           me->add("neili", -40);                  }             }else              if (random(ap) > dpp/2 && random(lvl)> 180)             {                          msg = HIY "$n" HIY "连忙抵挡,一时间不禁手忙脚乱,"                                "无暇反击。\n" NOR;                          me->start_busy(1);                          victim->start_busy(1 + random(lvl / 30));             }             else             {                          msg = HIC "$N" HIC "随意挥洒着手中的" + weapon->name() +                                HIC "刺向$n" HIC ",不过$n" HIC "防守的异常严密,$N"                                HIC "一时竟然无法找到破绽。\n" NOR;                          me->start_busy(1);                          victim->start_busy(2);             }             message_combatd(msg, me, victim);             break;                    case 4:             if (random(ap) > dpp/2 &&                  ! me->is_busy() &&                 ! me->query_temp("dugu-jiujian/lian") &&                 me->query("dex") >= 36                 && random(lvl)> 180                 )             {                weapon = me->query_temp("weapon");                message_vision(HIY "\n$N" HIY "胸藏剑意,手中" + weapon->name() + HIY                              "随意挥洒而出,速度之快,方位之准,显是独孤九剑已达到"                             "\n收发自如的境界。\n" NOR,                             me, victim);                me->add("neili", -120);                              me->set_temp("dugu-jiujian/lian", 1);                for (i = 0; i < 6; i++)                {                    if (! me->is_fighting(victim))                            break;                                       if (! victim->is_busy() && random(2) == 1)                            victim->start_busy(2);                    COMBAT_D->do_attack(me, victim, weapon, 0);                }                me->delete_temp("dugu-jiujian/lian");                             }             break;                                            default :             if (random(ap) > dpp/2 &&                  ! me->is_busy() &&                 ! me->query_temp("dugu-jiujian/lian")                 && random(lvl)> 180)             {                weapon = me->query_temp("weapon");                message_vision(HIY "\n$N" HIY "胸藏剑意,手中" + weapon->name() + HIY                              "随意挥洒而出,速度之快,方位之准,显是独孤九剑已达到"                             "\n收发自如的境界。\n" NOR,                             me, victim);                me->add("neili", -120);                              me->set_temp("dugu-jiujian/lian", 1);                for (i = 0; i < 6; i++)                {                    if (! me->is_fighting(victim))                            break;                                       if (! victim->is_busy() && random(2) == 1)                            victim->start_busy(2);                    COMBAT_D->do_attack(me, victim, weapon, 0);                }                me->delete_temp("dugu-jiujian/lian");                             }             break;                               }        if (random(me->query_skill("lonely-sword",1)) > 200 &&        random(me->query_skill("sword",1))>180 &&     	me->query_skill("force",1) > 250      	&& !victim->is_busy()){        me->add("neili", -50);        victim->map_skill("dodge");  if( !victim->is_busy() ){        victim->start_busy(random(3)+1);}        message_vision(HIC "$n突然举剑一刺,剑招随便无章,却莫明奇妙地突破了$N的攻势,大出$N意料!" NOR, victim,me  );        return HIR"$n大吃一惊,竟然忘了闪避!\n"NOR;        }        if (random(me->query_skill("lonely-sword",1)) > 140 &&		 random(me->query_skill("sword",1))>140 &&            me->query_skill("force",1) > 200             && !victim->is_busy())	{                me->add("neili", -50);        victim->map_skill("parry");  if( !victim->is_busy() ){        victim->start_busy(random(2)+1);}        message_vision(HIC "$n举剑反攻,后发先至地刺向$N,不仅把$N招术封死,更进一步发出攻击!" NOR, victim,me);        return HIY"$n难以看清剑招来势,竟然忘了招架!\n"NOR;}         if (random(me->query_skill("lonely-sword",1)) > 130 &&	        random(me->query_skill("sword",1))>130 &&	 me->query_skill("force",1) > 150	 && !victim->is_busy()){        me->add("neili", -50);  if( !victim->is_busy() ){        victim->start_busy(random(3)+1);}        message_vision(HIC "$n提剑回刺,落点正是$N的破绽,$N不得不撤招严守,身形一晃间已退出丈许!" NOR, victim,me );        return HIG"$n手忙脚乱,慌乱不堪!\n"NOR;}         if (random(me->query_skill("lonely-sword",1)) > 100 &&        random(me->query_skill("sword",1))>100 &&      	me->query_skill("force",1) > 120      	&& !victim->is_busy() )	{if (victim->query("neili")>600){        victim->add("neili", -500);}        message_vision(HIC "$n一转剑势,剑招源源而出,对$N发动攻势!\n" NOR, victim,me );	return HIM"$n使出浑身解数才脱出剑圈!\n"NOR;}        if (random(me->query_skill("lonely-sword",1)) > 80 &&	        random(me->query_skill("sword",1))>80 &&  	  me->query_skill("force",1) > 100 	  && !victim->is_busy())	{  if( !victim->is_busy() ){        victim->start_busy(random(2)+1);}        message_vision(HIC "$n眼见避无可避,只好提剑乱刺一通,居然出乎意料地将$N的攻击接去大半。" NOR, victim,me );	return HIW"$n顿时手足无措,不知如何是好!\n"NOR;  } 		jiali = me->query("jiali");if (!jiali) jiali=10;	if( damage_bonus > 100 && random(me->query_skill("lonely-sword",1))>140 	&& me->query("fengset")	) {	victim->receive_wound("qi", (random(jiali)+100));	return HIM"$N剑气纵横! 一道剑气划过了$n的$l。结果鲜血狂奔!\n"NOR;}}string perform_action_file(string action){        return __DIR__"lonely-sword/" + action;}int ob_hit(object ob, object me, int damage){	object weapon = me->query_temp("weapon");        string msg,dodge_skill,*limbs;        int i, j, level, p, q;        string result;        int ap, dp, mp;        ap = (int)me->query("combat_exp");        dp = (int)ob->query("combat_exp");j=damage;if (me->query_skill_mapped("force") != "zixia-shengong")return damage;if (me->query_skill_mapped("sword") != "lonely-sword")return damage;if (me->query_skill_mapped("parry") != "lonely-sword")return damage;if (me->query("neili") < 500)return damage; if (!objectp(weapon = me->query_temp("weapon"))        || (string)weapon->query("skill_type") != "sword")return damage;             if (random(ap) > dp/2 && random(2)==0)             {                        result = HIG "$n" HIG "不理会$N" HIG "的攻势,"                                    "随意挥出一剑,反攻向$N" HIG "。\n" NOR;                                    if (!ob->is_busy()) ob->start_busy(3);                    message_vision(result,ob,me);             }               if (random(ap) < dp/2  && me->query("fengset")   && random(2)==0)        {                switch (random(9))                {                case 0:                        result = HIC "却见$n" HIC "踏前一步,剑式斜指$P" HIC                                            "右臂,招式迅捷无比,使得$N" HIC "闪身而退"                                            "。\n" NOR;                        break;                case 1:                        result = HIC "可$n" HIC "以攻为守,以进为退,凝神运"                                            "气向$N" HIC "猛攻快打地挥出方位大异的泰山"                                            "「" NOR + YEL "快活三" NOR + HIC "」剑法。"                                            "\n" NOR;                        break;                case 2:                        result = HIC "$n" HIC "突然一剑点向$N" HIC ",虽一剑"                                            "却暗藏无数后着,$N" HIC "顿时手足无措,攻"                                            "势不由自主停了下来。\n" NOR;                        break;                case 3:                        result = HIC "可是$n" HIC "不闪不避,举剑闪电般使出"                                            "「" NOR + HIG "叠翠浮青" NOR + HIC "」反削"                                            "$N" HIC "手腕,挡开了此招。\n" NOR;                        break;                case 4:                        result = HIC "却见$n" HIC "突然使出青城派松风剑法「"                                            NOR + CYN "鸿飞冥冥" NOR + HIC "」,长剑对"                                            "着$N" HIC "一绞,顿时突破了攻势。\n" NOR;                        break;                case 5:                        result = HIC "$n" HIC "挺剑而射,若一招「" NOR + HIW                                            "白云出岫" NOR + HIC "」回刺$N" HIC ",顿"                                            "时已将攻势化解。\n" NOR;                        break;                case 6:                        result = HIC "只见$n" HIC "不退反进,身如飘风,一式"                                             "「" NOR + HIW "天柱云气" NOR + HIC "」动向"                                            "无定,挡住了进攻。\n" NOR;                        break;                case 7:                        result = HIC "但见$n" HIC "不退反进,使出恒山剑招「"                                            NOR + HIY "绵里藏针" NOR + HIC "」,剑气四"                                            "溢,架开了$N" HIC "这招。\n" NOR;                        break;                default:                        result =  HIC "$n" HIC "剑法突变,剑势伸缩不定,奔腾"                                            "矫夭,逆使嵩山剑法的「" NOR + HIY "天外玉"                                            "龙" NOR + HIC "」企图迫使$N" HIC "变招。\n"                                            NOR;                        break;                }message_vision(result,ob,me);                                    if (!ob->is_busy()) ob->start_busy(3);if ((int)me->query("qi") < (int)me->query("eff_qi"))me->add("qi",damage/6);if ((int)me->query("eff_qi") < (int)me->query("max_qi"))me->add("eff_qi",damage/6);            damage=100;            j=100;            return j;        }                     if ((int)me->query("qi")>1 && (int)me->query("eff_qi")>1){if ((int)me->query("qi") < (int)me->query("eff_qi"))        i = (int)me->query("eff_qi") / (int)me->query("qi") + 1;else         i = (int)me->query("max_qi") / (int)me->query("eff_qi") + 1;        if ( i > 5 ) i = 5;}else i=1;        limbs = ob->query("limbs");        level = me->query_skill("lonely-sword", 1);        if( me->is_busy()) return 1;        if( damage < 100 ) return 1;        if (  random(level) > 100 /i          && me->query_skill_mapped("sword") =="lonely-sword"         && me->query_skill_mapped("parry") =="lonely-sword"         && me->query("fengset")         && weapon         && weapon->query("skill_type") == "sword"         && me->query_skill("sword") > 300         && random(me->query_skill("sword",1)) > 150         && !me->is_busy()         && me->query("neili") > 200          && me->query("max_neili") > 4000         && random(me->query_int()) >= 20 ){            me->add("neili", -100);            msg = HIW"$N身子摇摇欲坠,行动不便,知道这一招无可躲避,当即挺剑刺出,后发先至,噗的一声刺向$n的咽喉。\n"NOR;            if ( random(level) > ob->query_skill("dodge", 1) / i){             q = damage * i ;             if ( q > 3500 ) q = 3500 + ( q - 3500 )/ 100;             ob->receive_damage("qi", q);             ob->receive_wound("qi", q/2);             if (!ob->is_busy())             ob->start_busy(2+random(2));             if ( random(me->query("combat_exp")) > ob->query("combat_exp") / i)             p = ob->query("qi")*100/ob->query("max_qi");             msg += damage_msg(damage, "刺伤") + "( $n"+eff_status_msg(j)+" )\n";             msg = replace_string(msg, "$l", limbs[random(sizeof(limbs))]);             msg = replace_string(msg, "$w", "剑刃");             j = -(damage/2+random(damage/2));            }            else {              dodge_skill = ob->query_skill_mapped("dodge");              if( !dodge_skill ) dodge_skill = "dodge";              msg += SKILL_D(dodge_skill)->query_dodge_msg(ob, 1);              j = -damage/4;             }            message_vision(msg, me, ob);            return j;        }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -