📄 eff_msg.h
字号:
#include <ansi.h>/* 在相应的perform里加上: #include "/kungfu/skill/eff_msg.h"; int p; p = (int)target->query("qi")*100/(int)target->query("max_qi"); msg += damage_msg(damage, "瘀伤"); msg += "( $n"+eff_status_msg(p)+" )\n"; */string eff_status_msg(int ratio){ if( ratio>=100 ) return HIG "看起来充满活力,一点也不累。" NOR; if( ratio > 90 ) return HIG "似乎有些疲惫,但是仍然十分有活力。" NOR; if( ratio > 80 ) return HIY "看起来可能有些累了。" NOR; if( ratio > 75 ) return HIY "看起来可能受了点轻伤。" NOR; if( ratio > 70 ) return HIY "动作似乎开始有点不太灵光,但是仍然有条不紊。" NOR; if( ratio > 65 ) return HIY "受了几处伤,不过似乎并不碍事。" NOR; if( ratio > 60 ) return HIY "受伤不轻,看起来状况并不太好。" NOR; if( ratio > 50 ) return HIY "气喘嘘嘘,看起来状况并不太好。" NOR; if( ratio > 45 ) return HIR "气息粗重,动作开始散乱,看来所受的伤着实不轻。" NOR; if( ratio > 40 ) return HIR "似乎十分疲惫,看来需要好好休息了。" NOR; if( ratio > 35 ) return HIR "已经伤痕累累,正在勉力支撑着不倒下去。" NOR; if( ratio > 30 ) return HIR "已经一副头重脚轻的模样,正在勉力支撑着不倒下去。" NOR; if( ratio > 25 ) return HIR "受了相当重的伤,只怕会有生命危险。" NOR; if( ratio > 20 ) return HIR "看起来已经力不从心了。" NOR; if( ratio > 15 ) return RED "伤重之下已经难以支撑,眼看就要倒在地上。" NOR; if( ratio > 10 ) return RED "摇头晃脑、歪歪斜斜地站都站不稳,眼看就要倒在地上。" NOR; if( ratio > 5 ) return RED "受伤过重,已经奄奄一息,命在旦夕了。" NOR; if( ratio > 0 ) return RED "已经陷入半昏迷状态,随时都可能摔倒晕去。" NOR; return RED "受伤过重,已经有如风中残烛,随时都可能断气。" NOR;}string damage_msg(int damage, string type){ string str; if( damage == 0 ) return "结果没有造成任何伤害。\n"; switch( type ) { case "擦伤": case "割伤": if( damage < 10 ) return "结果只是轻轻地划破$p的皮肉。\n"; if( damage < 50 ) return "结果在$p$l划出一道细长的血痕。\n"; if( damage < 100 ) return "结果「嗤」地一声,在$n身上划出一道伤口!\n"; if( damage < 170 ) return "结果「嗤」地一声,在$n身上划出一道血淋淋的伤口!\n"; if( damage < 280 ) return "结果「嗤」地一声,在$n身上划出一道又长又深的伤口,溅得$N满脸鲜血!\n"; return "结果只听见$n一声惨嚎,$w已在$p$l划出一道深及见骨的可怕伤口!!\n"; break; case "刺伤": if( damage < 10 ) return "结果只是轻轻地刺破$n的皮肉。\n"; if( damage < 50 ) return "结果在$n$l刺出一个创口。\n"; if( damage < 100 ) return "结果「噗」地一声刺入了$n$l寸许!\n"; if( damage < 170 ) return "结果「噗」地一声刺进$n的$l,使$p不由自主地退了几步!\n"; if( damage < 280 ) return "结果「噗嗤」地一声,$w已在$n$l刺出一个血肉模糊的血窟窿!\n"; return "结果只听见$n一声惨嚎,$w已在$p的$l对穿而出,鲜血溅得满地!!\n"; break; case "砸伤": if( damage < 20 ) return "结果只是轻轻地碰撞到了$n一下,没有造成什么伤害。\n"; if( damage < 60 ) return "结果$w只将$n的$l砸出一块瘀红。\n"; if( damage < 120 ) return "结果「啪」地一声,$w打中$n的$l,登时肿了一块老高!\n"; if( damage < 240 ) return "结果$w重重得击中$n的$l,打得$p倒退数步,「哇」地吐出一大口鲜血!\n"; if( damage < 380 ) return "结果只听见「硼」地一声巨响,$w打在$n身上,将$p像一捆稻草般击飞出去!\n"; return "只见$w重重地撞击在$n的身上,几声骨碎声中,$p象散了架似的瘫了下去!!\n"; break; case "瘀伤": if( damage < 10 ) return "结果只是轻轻地碰到,比拍苍蝇稍微重了点。\n"; if( damage < 20 ) return "结果在$p的$l造成一处瘀青。\n"; if( damage < 40 ) return "结果一击命中,$n的$l登时肿了一块老高!\n"; if( damage < 80 ) return "结果一击命中,$n闷哼了一声显然吃了不小的亏!\n"; if( damage < 120 ) return "结果「砰」地一声,$n退了两步!\n"; if( damage < 200 ) return "结果这一下「砰」地一声打得$n连退了好几步,差一点摔倒!\n"; if( damage < 300 ) return "结果重重地击中,$n「哇」地一声吐出一口鲜血!\n"; if( damage < 400 ) return "结果只听见「砰」地一声巨响,$n像一捆稻草般飞了出去!!\n"; return "只听见$n一声惨叫,整个身体象断了线的风筝一样飞了出去!!\n"; break; case "内伤": if( damage < 10 ) return "结果只是把$n打得退了半步,毫发无损。\n"; if( damage < 20 ) return "结果$n痛哼一声,在$p的$l造成一处瘀伤。\n"; if( damage < 50 ) return "结果一击命中,把$n打得痛得弯下腰去!\n"; if( damage < 100 ) return "结果$n闷哼了一声,脸上一阵青一阵白,显然受了点内伤!\n"; if( damage < 200 ) return "结果$n脸色一下变得惨白,昏昏沉沉接连退了好几步!\n"; if( damage < 300 ) return "结果重重地击中,$n「哇」地一声吐出一口鲜血!\n"; if( damage < 400 ) return "结果「轰」地一声,$n全身气血倒流,口中鲜血狂喷而出!\n"; return "结果只听见几声喀喀轻响,$n一声惨叫,像滩软泥般塌了下去!!\n"; break; case "震伤": if( damage < 100 ) return "结果$n受到$N的内力反震,闷哼一声。\n"; if( damage < 200 ) return "结果$n被$N以内力反震,「嘿」地一声退了两步。\n"; if( damage < 300 ) return "结果$n被$N以内力一震,胸口有如受到一记重锤,连退了五六步!\n"; return "结果$n被$N的内力一震,眼前一黑,身子向后飞出丈许!!\n"; break; case "抓伤": if( damage < 10 ) return "结果只是在$n$l处轻轻刮过,没有什么伤害。\n"; if( damage < 25 ) return "结果$n皱了皱眉,$p的$l已经被拉出了一道浅浅的血痕。\n"; if( damage < 50 ) return "结果拉下来$n$l的一点皮肉,疼得$p「哇哇」怪叫了起来!\n"; if( damage < 100 ) return "结果「唰」地一声,$n的$l上顿时被抓出五道血痕,鲜血流了出来!\n"; if( damage < 200 ) return "结果$n疼得大叫一声,$p$l上被抓出了几道深深的血沟,鲜血直流!\n"; if( damage < 300 ) return "结果只听见$n一声惨嚎,$N的手抓已在$p的$l处刺出了五个血肉模糊的窟窿!\n"; if( damage < 400 ) return "结果「啊」地一声惨叫,$n身上$p处被$N抓下了一大片皮肉,鲜血横飞满地!!\n"; return "结果伴随着$n一声凄惨的嚎叫,直透$p$l处,连皮带肉扯下一大块,露出了血淋淋的骨头!!\n"; break; default: if( !type ) type = "伤害"; str = "结果造成非常可怕的严重"; if( damage < 230 ) str = "结果造成极其严重的"; if( damage < 170 ) str = "结果造成十分严重的"; if( damage < 120 ) str = "结果造成相当严重的"; if( damage < 80 ) str = "结果造成颇为严重的"; if( damage < 50 ) str = "结果造成一处严重"; if( damage < 30 ) str = "结果造成一处"; if( damage < 20 ) str = "结果造成轻微的"; if( damage < 10 ) str = "结果只是勉强造成一处轻微"; return str + type + "!\n"; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -