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

📄 puzhao.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// 佛光普照// sdong 11/11/98#include <ansi.h>inherit F_SSERVER;int perform(object me, object target){  object ob;  string msg;  int damage;  int finger, skill, jiali, my_rate, your_rate, neili_cost, jingli_cost;  if( !target ) target = offensive_target(me);  if( !target || !target->is_character() ||  !me->is_fighting(target) )         return notify_fail("佛光普照只能在战斗中用。\n");  if( target->query("eff_qi") < target->query("max_qi")/4 )         return notify_fail("你的对手已是伤痕累累,使用佛光普照有违佛家慈悲为怀的本意。\n");  if( target->query("qi") < target->query("max_qi")/6 )         return notify_fail("你的对手已是伤痕累累,使用佛光普照有违佛家慈悲为怀的本意。\n");  if( me->query_temp("yield") )         return notify_fail("你不出手,如何使得出佛光普照?\n");        if( me->query_temp("weapon"))                return notify_fail("你先放下手中的武器再说吧?!\n");       if( (skill = (int)me->query_skill("jinding-zhang", 1)) < 150 )         return notify_fail("你的金顶绵掌不够娴熟,不会使佛光普照。\n");  if( (int)me->query_skill("linji-zhuang", 1) < 120 )         return notify_fail("你的临济桩功修为不够,不会使用佛光普照。\n");  if( me->query_skill_mapped("force") != "linji-zhuang" )         return notify_fail("你所用的并非临济桩,使不出佛光普照!\n");  jiali=(int)me->query("jiali");  if( jiali < 50 )         return notify_fail("佛光普照乃是内家功夫,掌上不带内力使不出来。\n");  if( me->query("neili") < 300 ) return notify_fail("佛光普照乃是内家功夫,你现在内力不足,使不出这一招。\n");  msg = HIY "\n$N突然间全身骨骼中发出劈劈拍拍的轻微爆裂之声,炒豆般的响声未绝,右掌已向$n胸口击去。\n\n"NOR;  msg += HIG"这一掌是峨嵋派的绝学,叫做“佛光普照”。这“佛光普照”的掌法便只一招,而且这\n";  msg += HIG"一招也无其他变化,招式平平淡淡,一成不变,可是其威力之生,就在于以峨嵋派绝顶\n";  msg += HIG"内功作为根基。一掌既出,内力如排山倒海一般袭来,敌人挡无可挡,避无可避。\n\n";// because hy2 can not jiajin, so update jiajin to jiali (by xbd)  if( random( me->query("combat_exp") ) > random( target->query("combat_exp")*2 ) || !living(target) )  {                        damage = random(  me->query_skill("force") + me->query_skill("strike") + me->query("jiali") )*( 1 + random(me->query("jiali")/5) ) ;                        if(damage > 3100) damage = 3100;                        if(damage < 500) damage = 500;                        me->add("neili", -damage/2 );//                        me->add("jing", -me->query("jiajin")/2);                        target->receive_damage("qi", damage,  me);                        target->receive_wound("qi", random(damage), me);                        target->start_busy(1+random(3));                msg += HIR"猛听得砰然一声大响,$N已打中在$p胸口.\n"NOR;                if ( damage < 400) {                        msg += HIC"$n身子一晃,立足不定,差点儿就要摔倒。\n"NOR;                }else if ( damage < 600) {                        msg += HIR"$n向后接连摔了两个筋斗,哇的一声,喷出一口鲜血。\n"NOR;                }else if ( damage < 1000) {                        msg += YEL"$n哇的一声,喷出一口鲜血,委顿在地,便似一堆软泥。\n"NOR;                }else if ( damage < 2000) {                        msg += RED"$n身子便如一捆稻草般,在空中平平的飞了出去,重重摔在地下,口中鲜血狂喷.\n"NOR;                }else if ( damage < 3000) {                        msg += RED"只听一声巨响,$n口中鲜血狂喷,全身骨骼碎裂。\n"NOR;                }else {                        msg += RED"只听一声巨响,$n全身骨骼碎裂,竟被这排山倒海般的一击将身子打成了两截。\n"NOR;                }                msg += NOR;                me->start_busy(2+random(2));  }  else if( random( me->query("combat_exp")*2 ) > random( target->query("combat_exp") )                                &&  random(target->query_skill("dodge")) < random( me->query_skill("strike") )  )  {                        damage = random(  me->query_skill("force") + me->query_skill("strike") + me->query("jiali") )*( 1 + random(me->query("jiali")/5) ) ;                        damage = damage / 2;                        if(damage > 2000) damage = 2000;                        if(damage < 350) damage = 350;                        me->add("neili", -damage/2 );//                        me->add("jing", -me->query("jiajin")/2);                        target->receive_damage("qi", damage,  me);                        target->receive_wound("qi", random(damage), me);                        target->start_busy(1+random(3));                        msg += HIY"$p眼看这一招来势汹汹,知道难于对付,连忙发力抵抗,猛听得砰然一声大响,$N已打中在$p胸口.\n"NOR;                if ( damage < 400) {                        msg += HIC"$n身子一晃,立足不定,差点儿就要摔倒。\n"NOR;                }else if ( damage < 600) {                        msg += HIR"$n向后接连摔了两个筋斗,哇的一声,喷出一口鲜血。\n"NOR;                }else if ( damage < 1000) {                        msg += RED"$n哇的一声,喷出一口鲜血,委顿在地,便似一堆软泥。\n"NOR;                }                else msg += RED"$n身子便如一捆稻草般,在空中平平的飞了出去,重重摔在地下,口中鲜血狂喷.\n"NOR;                msg += NOR;                target->add( "neili", -damage/4 );                me->start_busy(2+random(2));  }  else if( random( me->query("combat_exp")*2 ) > random( target->query("combat_exp") ) &&          random( target->query_skill("dodge")*2 ) > random( me->query_skill("strike") ) )  {                        damage = random(  me->query_skill("force") + me->query_skill("strike") + me->query("jiali") )*( 1 + random(me->query("jiali")/5) ) ;                        damage = damage / 3;                        if(damage > 1000) damage = 1000;                        if(damage < 250) damage = 250;                        me->add("neili", -damage/2 );//                        me->add("jing", -me->query("jiajin")/2);                        target->receive_damage("qi", damage,  me);                        target->receive_wound("qi", random(damage), me);                        target->start_busy(1+random(3));                        msg += HIM"$p眼看这一招来势汹汹,慌忙使出本门身法,向侧跃出数丈,可是这佛光普照蕴藏峨眉内家上乘内功,\n";                        msg += "方圆数丈都被神功所震撼,$p只觉得后心一震,已被劈空掌力所伤.\n"NOR;                if ( damage < 400) {                        msg += HIC"$n身子一晃,立足不定,差点儿就要摔倒。\n"NOR;                }else if ( damage < 600) {                        msg += HIR"$n向后接连摔了两个筋斗,哇的一声,喷出一口鲜血。\n"NOR;                }else if ( damage < 1000) {                        msg += RED"$n哇的一声,喷出一口鲜血,委顿在地,便似一堆软泥。,\n"NOR;                }                else msg += RED"$n身子便如一捆稻草般,在空中平平的飞了出去,重重摔在地下,口中鲜血狂喷.\n"NOR;                msg += NOR;                target->add( "neili", -damage/4 );                me->start_busy(2+random(2));  }  else {         msg += HIC"$n眼看这一招来势汹汹,使出本门身法,向後跃出数丈,\n\n"NOR;         msg += HIW"$N这一招乃是使上了全力,丝毫不留余地。没想到全无用处,不觉脸如死灰,手掌微微发抖。\n" NOR;         neili_cost = jiali*3;//         jingli_cost = me->query("jiajin")*2;         if(neili_cost > me->query("neili"))                 neili_cost = me->query("neili");         if(jingli_cost > me->query("jingli"))                jingli_cost = me->query("jingli")-1;         me->add("neili", -neili_cost );         me->add("jing", -jingli_cost );         me->start_busy(4 + random(4));         message_vision(msg+"\n", me, target);         return 1;  }  message_vision(msg+"\n", me, target);  COMBAT_D->report_status(target);  return 1;}

⌨️ 快捷键说明

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