huanggs.c

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

C
115
字号
// puliu.c 事件:黄果树瀑布

#include <ansi.h>

void create() { seteuid(getuid()); }

// 开始创建事件
void create_event()
{
        // 明天5点钟瀑流最急
        EVENT_D->at_after(0, 0, 1, -5);
}

// 奖励
private void do_bonus(object room)
{
        object *obs;
        object ob;
        string msg;
        int lvl;
        int r;

        obs = all_inventory(room);
        obs = filter_array(obs, (: playerp($1) && living($1) :));
        if (sizeof(obs) < 1)
                return;

        r = random(365);
        if (r == 0)
        { 
                msg = HIR "只听轰隆隆声音大做,发耳欲聩,令人心神俱摇!你抬头看去,只见\n"
                          "晨曦中黄果树瀑布笼罩着层层雾气,分外要人。水流飞泻,气势惊人!\n" NOR;
                msg += HIG "你望着湍急的瀑布飞练,为这世间美景惊叹不已,从"
                           "中不禁领悟到了武学的道理。\n" NOR; 
                obs->add("combat_exp", 1000);
                obs->add("potential", 500);

                message("vision", msg, obs);

                // 记录事件
                MAP_D->record_rumor(obs, "黄果树激流", this_object());

                CHANNEL_D->do_channel(this_object(), "rumor",
                                      "听说黄果树激流澎湃,奇景非凡,无数游人叹羡不已。");
        } else 
        if (r < 250) 
        {
                msg = HIY "一阵轰隆轰隆的得声音传来,你抬头一样,只见晨曦中瀑布腾起层层雾气。\n" NOR;
                switch (random(3)) 
                { 
                case 0: 
                        msg += HIY "看着这壮丽的瀑流,你不禁感叹,正所谓「飞流直"
                                    "下三千尺,疑是银河落九天」啊。\n" NOR; 
                        break; 
                case 1: 
                        msg += HIY "瀑流就像一席倒挂的白帘,气势如虹,天地都不禁为之失色。\n" NOR; 
                        break; 
                default: 

                        msg += HIY "瀑流直如水银泄地一般,水花四溅。\n" NOR; 
                        break; 
                } 
                msg += HIG "观赏着飞流直下的水瀑,你不由得感叹自然造化的奇妙,隐"
                           "隐然对武学也有了一点领会。\n" NOR; 
                obs->improve_potential(5 + random(7));
                obs->add("combat_exp", 20 + random(10));
 
                message("vision", msg, obs);

                // 记录事件
                MAP_D->record_rumor(obs, "黄果树瀑布", this_object());
        } else
        {
                switch (random(3))
                {
                case 0:
                        msg = WHT "瀑流渐渐缓了下来。\n" NOR;
                        break;
                case 1:
                        msg = WHT "瀑流总是不见有增强的趋势。\n" NOR;
                        break;
                default:
                        msg = WHT "瀑流有如小桥流水,叮叮咚咚,离你所期望的相差甚远。\n" NOR;
                        break;
                }
                msg += HIG "你心中大感失望。\n" NOR;

                message("vision", msg, obs);
        }
} 
 
// 事件触发 
void trigger_event() 
{ 
        object room; 
        // 黄果树瀑流 
        if (objectp(room = find_object("/d/dali/huanggs"))) 
                do_bonus(room); 
 
        create_event(); 
} 

// 描述 
string query_detail(string topic) 
{ 
        switch (topic) 
        { 
        case "黄果树激流": 
                return "黄果树瀑布水流湍急,时有激流澎湃,乃是罕见的景观。\n"; 
 
        case "黄果树瀑布": 
                return "大理的黄果树瀑布自然风光迷人,瀑流美丽壮观。\n"; 
        }
} 

⌨️ 快捷键说明

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