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

📄 tougu.c

📁 C实现的MUD,对大家基本入门网络游戏很有帮助!
💻 C
字号:
// tougu.c 透骨针// by snowman#include <ansi.h>#include <combat.h>inherit F_SSERVER;#include "/kungfu/skill/eff_msg.h";string *xue_name = ({ "劳宫穴","膻中穴","曲池穴","关元穴","曲骨穴","中极穴","承浆穴","天突穴","百会穴","幽门穴","章门穴","大横穴","紫宫穴","冷渊穴","天井穴","极泉穴","清灵穴","至阳穴",}); string *order = ({""HIY"", ""HIG"", ""RED"", ""MAG"", ""YEL"", ""HIC"", ""HIW"", ""HIR"",""HIB"", ""CYN"",""WHT"",""HIM"",""BLU""});int perform(object me, object target){         object weapon;//  mapping fam        int damage,p;	int extra,i;        string msg, *limbs,name;        weapon = me->query_temp("weapon");    name = xue_name[random(sizeof(xue_name))];                if( !target) target = offensive_target(me);        if( !target || !me->is_fighting(target) )                return notify_fail("透骨针只能在战斗中对对手使用。\n");	if( (int)me->query_skill("shenghuo-ling", 1) < 40 )		return notify_fail("你的圣火令法不够娴熟,使不出「透骨针」令。\n");	if (!objectp(weapon = me->query_temp("weapon"))		|| (string)weapon->query("skill_type") != "sword")			return notify_fail("你使用的武器不对。\n");        if( (int)me->query_skill("shenghuo-shengong",1) < 100 )                return notify_fail("你的圣火神功等级不够,不能施展透骨针内劲!\n");        if( (int)me->query_skill("force", 1) < 100 )                return notify_fail("你的基本内功等级不够,不能施展透骨针内劲!\n");        if( (int)me->query("neili") < 500 )                return notify_fail("你的真气不足,不能施展透骨针内劲!\n");        if( (int)me->query("jing") < 100 )                return notify_fail("你的精力不足,不能施展透骨针内劲!\n");        tell_object(me, HIW"你悄悄运起"HIB"透骨针"HIW",将一股极阴寒的内力积贮于一点,从"+weapon->name()+"上传出,直刺"+target->name()+"!\n"NOR);       	extra = me->query_skill("qiankun-danuoyi",1) / 10;if( (int)me->query_skill("qiankun-danuoyi", 1) > 149 ){	me->add_temp("apply/attack", (extra));		me->add_temp("apply/damage", (extra));message_vision(HIG"\n$N忽然身形一变,只见一大把透骨针,分别袭向$n的七大要穴!\n"NOR,me,target);msg = HIW"第一枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=1;if( (int)me->query_skill("qiankun-danuoyi", 1) > 159 ){msg = HIM"第二枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=2;}if( (int)me->query_skill("qiankun-danuoyi", 1) > 169 ){msg = MAG"第三枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=3;}if( (int)me->query_skill("qiankun-danuoyi", 1) > 179 ){msg = YEL"第四枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=4;}if( (int)me->query_skill("qiankun-danuoyi", 1) > 189 ){msg = HIB"第五枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=5;}if( (int)me->query_skill("qiankun-danuoyi", 1) > 199 ){msg = RED"第六枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=6;}if( (int)me->query_skill("qiankun-danuoyi", 1) > 249 ){msg = HIR"最后一枚透骨针:"WHT"〖"+(order[random(13)])+" "+xue_name[random(sizeof(xue_name))]+" "WHT"〗\n" NOR;COMBAT_D->do_attack(me,target, me->query_temp("weapon"),TYPE_REGULAR,msg);i=7;}	me->add_temp("apply/attack", -(extra));	me->add_temp("apply/damage", -(extra));me->add("neili", -i*60);me->start_busy(i/2+1);message_vision(WHT"\n$N身形再变,又拿出一枚透骨针!\n"NOR,me,target);        }        if(random(me->query_skill("force")) > target->query_skill("force")/3){                      damage = me->query_skill("force");           damage = damage/2 + random(damage);           if(target->query_skill("force")-50 > me->query_skill("force"))             damage = damage/2;                       if(target->query_skill("force") > me->query_skill("force")*2)             damage = random(10);           if(me->query_skill("force") > target->query_skill("force")*2)             damage = damage+random(damage);           if(damage > 300)              tell_object(target, HIB"\n突然之间,你胸口一痛,似乎被一枚极细的尖针刺了一下。这一下刺痛突如其来,似有形,实无质,一股寒气突破你的护体神功,直钻入心肺!\n"NOR);           else if(damage <= 10){              damage = 10;              tell_object(target, HIY"\n突然之间,你胸口一痛,似乎被一枚极细的尖针刺了一下。幸好你护体神功遍护全身,这阴劲虽是凝聚如丝发之细,倏钻陡戳,难防难当,却也伤你不得!\n"NOR);              tell_object(me, HIY"你连运“透骨针”的内劲,但见对方竟是毫不费力的抵挡了下来!\n"NOR);              }           else tell_object(target, HIB"\n突然之间,你胸口被尖针刺了一下。刺痛似有形,实无质,一股寒气突破你的护体神功,直侵内脏!阴劲入体,立即消失,但这一刺可当真疼痛入骨!\n"NOR);           target->receive_damage("qi", damage);           target->receive_wound("qi", damage);           target->add("neili", -damage/2);            limbs = target->query("limbs");           p = (int)target->query("qi")*100/(int)target->query("max_qi");           tell_room(environment(target), HIR + target->name()+"突然全身一颤,如同被尖针刺了一下!\n" NOR, ({ target }));             msg = damage_msg(damage, "内伤");           msg += "( $n"+eff_status_msg(p)+" )\n";           message_vision(msg, me, target);           me->start_busy(2);           me->add("neili", -150);           if (!target->is_busy())           target->start_busy(random(3));           return 1;           }              else {          me->add("neili", -50);          tell_object(me, HIY"结果透骨针内劲还没触到"+target->name()+"便已经散了。\n"NOR);          me->start_busy(2);                   }        return 1;}

⌨️ 快捷键说明

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