canpian.c

来自「C实现的MUD,对大家基本入门网络游戏很有帮助!」· C语言 代码 · 共 103 行

C
103
字号
//Cracked by Kafei// canpian// used to improve tjsg and hunyuan-yiqi over 200// -chu@xkx#include <ansi.h>#include <weapon.h>inherit ITEM;inherit F_UNIQUE;int do_dun(string arg);int do_jie(string arg);void create(){    set_name(YEL "九阳神功残篇" NOR, ({"canpian", "book"}));    set_weight(100);    if (clonep())        set_default_object(__FILE__);    else {        set("unit", "部");        set("long", "这是武当派祖师张三丰真人笔录的部分九阳神功。\n");        set("material", "paper");        set("value", 1000000000);                set("skill", ([                        "name": "jiuyang-shengong",        // name of the skill                        "exp_required": 10000000,      // minimum combat experience required                        "jing_cost":    300,     // jing cost every time study this                        "difficulty":   100,     // the base int to learn this skill                        "max_skill":    100      // the maximum level you can learn                ]) );    }}int init(){    add_action("do_canwu", "canwu");    return 1;}int do_canwu(string arg){    object player = this_player();    object target, obj=this_object(), env=environment(player);    string my_skill, your_skill;    int my_lvl, your_lvl;    if (!arg) return notify_fail("你要跟谁一起参悟?\n");    target = present(arg, env);    if (!objectp(target))  return notify_fail("你要跟谁一起参悟?\n");    if (!userp(target))    return notify_fail("你只能跟玩家一起参悟。\n");    if (player->is_busy()) return notify_fail("你正忙着呢。\n");        my_lvl = player->query_skill("taiji-shengong", 1);    your_lvl = player->query_skill("hunyuan-yiqi", 1);    if (my_lvl < 200 && your_lvl < 200)         return notify_fail("你的太极神功或者混元一气功不够高,无法参悟。\n");    if (my_lvl >= 200) {        my_skill = "taiji-shengong";        your_skill = "hunyuan-yiqi";        your_lvl = target->query_skill("hunyuan-yiqi", 1);    }else {        my_lvl = your_lvl;        your_lvl = target->query_skill("taiji-shengong", 1);        my_skill = "hunyuan-yiqi";        your_skill = "taiji-shengong";    }    if (your_lvl < my_lvl-10)        return notify_fail(target->name(1)+"的本门内功远逊于你,已不能帮你参悟了。\n");    if (player->query("jing") < 1000)        return notify_fail("你精神不济,连话都说不清楚了。\n");    if (target->query("jing") < 1000)        return notify_fail("你想向"+target->name(1)+"请教有关"+                to_chinese(your_skill)+"的问题,可人家没精打采的不理你。\n");    message_vision("$N拿出九阳神功残篇,跟$n相互参悟,双方似有所悟。\n",        player, target);    if (wizardp(player)) {        tell_object(player, sprintf("my_skill = %s/%d, yourskill=%s/%d\n",            my_skill, my_lvl, your_skill, your_lvl));        tell_object(player, "valid_learn() returns "+            SKILL_D(my_skill)->valid_learn(player)+"\n");    }     if (wizardp(target)) {        tell_object(target, sprintf("my_skill = %s/%d, yourskill=%s/%d\n",            my_skill, my_lvl, your_skill, your_lvl));        tell_object(target, "valid_learn() returns "+                SKILL_D(your_skill)->valid_learn(target)+"\n");    }     player->add("jing", -1000);     target->add("jing", -500);    if (SKILL_D(my_skill)->valid_learn(player))    {        player->improve_skill(my_skill, 200);        if (SKILL_D(your_skill)->valid_learn(target))  target->improve_skill(your_skill, 80);        return 1;    }    return 0;}

⌨️ 快捷键说明

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