📄 suxingh.c
字号:
// suxingh.c
// shilling 97.2
inherit NPC;
inherit F_MASTER;
int ask_job();
int ask_fail();
string ask_me();
string ask_book();
void create()
{
set_name("苏星河",({"su xinghe","su"}));
set("gender", "男性" );
set("nickname", "聪辩老人");
set("shen_type", 0);
set("class", "scholar");
set("age",60);
set("str", 35);
set("con", 30);
set("int", 45);
set("dex", 35);
set("per", 30);
set("no_clean_up",1);
set("long",
"此人就是号称聪辩老人的苏星河,据说他能言善辩, \n"
"是一个武林中的智者,而他的武功也是无人能知。\n");
set("combat_exp", 1500000);
set("attitude", "peaceful");
set("book_count", 1);
set("chat_chance", 1);
set("inquiry", ([
"秘密地道" :(:ask_me:),
"秘籍" :(:ask_book:),
"任务" : (: ask_job() :),
"失败" : (: ask_fail() :),
]) );
set("max_qi", 5400);
set("max_jing", 1400);
set("neili", 9500);
set("max_neili",9500);
set("jiali", 60);
set("env/wimpy", 60);
set_skill("force", 150);
set_skill("dodge", 150);
set_skill("unarmed", 150);
set_skill("parry", 150);
set_skill("blade", 200);
set_skill("lingboweibu", 280);
set_skill("beiming-shengong", 280);
set_skill("ruyi-dao", 300);
set_skill("liuyang-zhang", 380);
set_skill("zhemei-shou", 280);
set_skill("literate", 100);
map_skill("unarmed", "liuyang-zhang");
map_skill("parry", "ruyi-dao");
map_skill("blade", "ruyi-dao");
map_skill("dodge", "lingboweibu");
map_skill("force", "beiming-shengong");
prepare_skill("hand","zhemei-shou");
prepare_skill("strike","liuyang-zhang");
set("chat_chance_combat", 90);
set("chat_msg_combat", ({
(: perform_action, "blade.shishiruyi" :),
(: perform_action, "blade.shishiruyi" :),
(: perform_action, "blade.ruyi" :),
(: perform_action, "blade.ruyi" :),
(: perform_action, "dodge.lingbo" :),
(: perform_action, "dodge.lingbo" :),
(: exert_function, "strike.zhong" :),
(: exert_function, "strike.zhong" :),
}) );
create_family("逍遥派", 2, "弟子");
set("title","逍遥派第二代大弟子");
setup();
carry_object("d/xiaoyao/npc/obj/cloth")->wear();
carry_object("d/xiaoyao/npc/obj/blade")->wield();
}
void attempt_apprentice(object ob)
{
if (ob->query_int() < 30) {
command("shake"+ ob->query("id"));
command("say " + RANK_D->query_respect(ob) +
"是否还应该在学问上多下点功夫?");
return;
}
command("say 好吧,我就收下你了,今后要多加努力啊!");
command("recruit " + ob->query("id"));
}
string ask_book()
{
object me,ob;
mapping fam;
ob=this_player();
if (!(fam = ob->query("family"))
|| fam["family_name"] != "逍遥派")
{
return"想要秘籍就得加入逍遥派。";
}
command("sigh");
return"本派的武功秘籍藏在一个很秘密的地方,我也没去过。";
}
string ask_me()
{
object me,ob;
mapping fam;
ob=this_player();
if (!(fam = ob->query("family"))
|| fam["family_name"] != "逍遥派")
{
return"想要知道密道就得加入逍遥派。";
}
command("sigh");
return"本派的密道在华山之上,很是艰险。你有兴趣可以去看看。";
}
void recruit_apprentice(object ob)
{
if( ::recruit_apprentice(ob) )
ob->set("class", "scholar");
}
int ask_job()
{
object me = this_player();
object ob;
mapping quest;
mapping skl;
string *sname, place;
int i, skill = 0;
quest = (__DIR__"lagjob")->query_quest();
skl = me->query_skills();
if ( !skl ) {
tell_object(me, "你去学一些本事先吧!\n");
return 1;
}
sname = sort_array( keys(skl), (: strcmp :) );
for(i=0; i<sizeof(skl); i++)
if (skl[sname[i]] >= skill && sname[i] != "literate" && sname[i] != "taoism")
skill = skl[sname[i]];
if (skill < 80) skill = 80;
if (me->query("combat_exp") < 100000) {
command("say " + RANK_D->query_respect(me) + "找本派的掌门信物是很难的,你还是练高经验再来吧");
return 1;
}
if (me->query("potential") < 200 || me->query("combat_exp") < 300) {
command("say 你连本钱都没有,我怎么放心要你去找本派的掌门信物?");
return 1;
}
if (me->query("kill_xiaoyao") == 1) {
command("kick " + me->query("id"));
command("say 我不是给了你任务了吗?");
return 1;
}
else {
command("nod" + me->query("id"));
command("say " + RANK_D->query_respect(me) + "能为逍遥派出力,真是太好了。");
command("say " + me->query("id") + " 七宝指环在在『" + quest["short"] + "』出现,快去吧!\n" NOR);
me->set("kill_xiaoyao", 1);
me->set("quest/quest_type", "寻");
me->set("quest/quest", "七宝指环");
me->set("task_time", time() + 300);
ob = new(__DIR__"qiangdao",1);
if (me->query("combat_exp") > 2000000) {
ob = new(__DIR__"qiangdao2",1);
}
ob->move(quest["place"]);
ob->set_temp("owner/id",me->query("id"));
ob->set("combat_exp", me->query("combat_exp"));
ob->set("max_force", me->query("max_force"));
ob->set("eff_kee", me->query("max_kee"));
ob->set("max_kee", me->query("max_kee"));
ob->set("kee", me->query("max_kee"));
ob->set_skill("dodge", skill);
ob->set_skill("force", skill);
ob->set_skill("parry", skill);
ob->set("force_factor", random(10));
return 1;
}
}
int ask_fail()
{
object me = this_player();
if (me->query("kill_xiaoyao") == 1) {
command("haha");
command("say 你这身手也来找本派的七宝指环,扣你150点EXP.");
me->add("combat_exp",-150);
call_out("delete", 1);
return 1;
}
}
int delete()
{
this_player()->delete("kill_xiaoyao");
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -