[技能] explorer
之前的討論有人提到迷宮知識,以及最近提到的迷宮探索,我想這
個就用 explorer 支援就好。
我最新想到的方式是...
一、玩家 cast explorer 或 heart explorer
二、在效果常駐期間,看得到隱藏出口(原有效果)。
三、效果常駐期間,玩家有特殊指令可以下,這個特殊指令是用來
為房間加上只有自己看得到的記號。
它的實作方式是...
ppl->set_temp("explorer_marks",(["房間檔名":"特殊標記",...]));
在下指令畫標記時...
explorer_marks=(mapping)ppl->query("explorer_marks");
keys_marks=(mixed)ppl->query("keys_explorer_marks");
files=base_name(environment(ppl));
if(member_array(files,keys_marks)!=-1)
return notify_fail("你已經有在這個房間加上「"+explorer_marks[files]+
"」這個記號了喔。\n");
write("你在這個房間標上了「"+str+"記號。\n");
keys_marks+=({files});
explorer_marks[files]=str;
if(sizeof(keys_marks)>n) // n 與技能值 or int 有關
{
files=keys_marks[0];
write("你最多只能在 n 個房間做上記號喔.\n"+
"XXXX清除了你先前做的「"+explorer_marks[files]+"」標記.\n");
keys_marks-=({files});
map_delete(explorer_marks,files);
}
ppl->set_temp("keys_explorer_marks",keys_marks);
一、因為是獨立指令,所以有兩種做法...
a)玩家必須在 cast explorer 狀態下才能為房間做標記
b)玩家只需學有某個技能就可以為房間做標記
c)或者玩家的什麼技能必須達到多少才可以.
b 的話可以幫盜賊多灌個技能(性質類似 leadership),
但這不是必要。
二、記號讓玩家自由標記,但 str 一定會經過底下判斷..
s=strlen(str);
if(s>多少) return 長度太長;
str=substr(str,ESC,""); // 去掉顏色碼
中英文不拘,原則上只有自己看得到。
三、實用上,盜賊單槍匹馬闖迷宮時,這個技能要派得上用
場,必須允許盜賊可以觀看房間出口的記號。
例如我往東看,跟往西看,都看到相同的「這是我一開
始進入的房間」這個記號時,我就不需要往東跟往西走
了。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.185.8
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
-3
15
113
119