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

📄 chaodu.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
#include <ansi.h>#include <combat.h>inherit F_DBASE;inherit F_SSERVER;int perform(object me, object target){        object weapon;        int damage, club, i,ap,pp;        if( !target && me->is_fighting() ) target = offensive_target(me);        if( !target         || !target->is_character()         || !me->is_fighting(target) )                return notify_fail("「超度极乐」只能对战斗中的对手使用。\n");        if( !objectp(weapon = me->query_temp("weapon"))         || weapon->query("skill_type") != "club" )                return notify_fail("你手中无棍,怎能运用「超度极乐」?!\n");        if( me->query_temp("sl_chaodu") )               return notify_fail("「超度极乐」是少林密技,太过刚猛有违天和,不可多用!\n");        if((int)me->query_skill("weituo-chu", 1) < 300 )               return notify_fail("你「韦陀杵」修为还不够,还未能领悟「超度极乐」!\n");	if((int)me->query_str()-(int)me->query_temp("apply/strength")<50)	       return notify_fail("你的膂力不够,无法用出「超度极乐」\n");	if((int)me->query("con")+(int)me->query_skill("force",1)/10<50)	       return notify_fail("你的根骨不够,无法承受「超度极乐」的金刚大力。\n");        if((int)me->query_skill("buddhism",1) < 200)               return notify_fail("你禅宗修为还不够,还未能领悟「超度极乐」!\n");        if( me->query_skill("yijinjing", 1) < 300 )                return notify_fail("你的内功修为火候未到,施展只会伤及自身!\n");        if( me->query_skill_mapped("force") != "yijinjing")                return notify_fail("你所用的内功与「超度极乐」心法相悖!\n");        if (me->query_skill_mapped("club") != "weituo-chu"         )                return notify_fail("你现在无法使用「超度极乐」进行攻击。\n");        if( me->query("max_neili") < 5000 )                return notify_fail("你的内力修为不足,劲力不足以施展「超度极乐」!\n");        if( me->query("neili") <= 2000 )                return notify_fail("你的内力不够,劲力不足以施展「超度极乐」!\n");        if( me->query("jing") <= 500 )                return notify_fail("你的精力有限,不足以施展「超度极乐」!\n");        message_vision(BLU"\n突然$N面露佛光:「超度极乐」,身形暴涨,如同韦陀尊者再世一般,右拳突出击在"+weapon->name()+BLU"当中,“哄”的一声,"+weapon->name()+"被打的粉碎象千颗流星飞向$n!\n" NOR, me,target);        weapon->move(environment(me));        weapon->set("name", weapon->query("name")+"的碎片");        weapon->unequip();        weapon->set("value", 0);        weapon->set("weapon_prop", 0);        damage = (int)me->query_skill("club") + (int)me->query_skill("buddhism",1);        club = me->query_skill("club")/3;        i = 10+random(me->query_skill("buddhism",1)/20);        damage = damage*i;        if(me->is_killer(target->query("id")))       		damage = damage *2/3;        if(!target->is_killer(me->query("id")))       		damage = damage *2/3;        if (wizardp(me))           	write(sprintf("damage = %d\n",damage));        ap = COMBAT_D->skill_power(me,"club",SKILL_USAGE_ATTACK);        pp = COMBAT_D->skill_power(me,"parry",SKILL_USAGE_DEFENSE);        if(target->is_busy())        	pp /= 2;        if(me->query("real_yjj"))        	{        		damage *=2;        		ap *= 2;        		pp /= 2;        	}	me->set_temp("sl_chaodu",1);	if(random(ap+pp)>pp)	{          	me->add("neili", -1000);          	me->add("jing", -200);          	target->receive_damage("qi",damage);          	target->receive_wound("qi",damage/2);            	message_vision(HIY"\n$n哪里见过这么刚猛霸道的招式,招架不及,被拳力击中,肋骨当即根根断裂!\n" NOR, me,target);            	COMBAT_D->report_status(target);if (random(6)==0 && target->query("int") > 30 && target->query("qi") < 200){           	message_vision(HIY"\n$n脑中一片悬晕!一片空白!\n" NOR, me,target);target->add("int",-1);}else if (random(6)==0 && target->query("str") > 30 && target->query("qi") < 200){           	message_vision(HIY"\n$n全身一阵麻木!身体一松!\n" NOR, me,target);target->add("str",-1);}            	me->start_busy(1+random(2));            	call_out("remove_effect2", club*2/3, me);       }       else {          	message_vision(HIY"\n$n眼见$N来势凶狠,不及招架,身体贴地滑行,倒滑出数丈,躲过了这致命一击!\n" NOR, me,target);          	me->add("neili", -1000);          	me->add("jing", -200);          	me->start_busy(1+random(2));          	call_out("remove_effect2", club*2/3, me);       }       return 1;}void remove_effect2(object me){        if (!me) return;        me->delete_temp("sl_chaodu");        tell_object(me, HIG"\n你经过一段时间修心养性,又可以再使用「超度极乐」了。\n"NOR);}int help(object me){        write(@HELP超度极乐       是佛门神功--「韦陀杵」的特殊攻击,将手中兵器击碎,化成千万片碎片攻击对手。       乃是「韦陀杵」的终极招式。HELP        );        return 1;}

⌨️ 快捷键说明

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