[本文轉貼自 program 討論區]
發信人: shang@tkd (阿砲), 信區: program
標 題: [轉貼MUD 的相關文件] Classes.TXT
發信站: 淺水灣BBS站 (Tue Feb 27 05:47:17 1996)
轉信站: tkd (local)
發信人: warma...@csie.nctu.edu.tw (愛幻想的小孩), 看板: mud
標 題: 把一些文件中文化
發信站: 交大資工鳳凰城資訊站 (Thu Aug 3 22:52:40 1995)
轉信站: maple!news.cs.nthu!news.cis.nctu!news.csie.nctu!phoenix
=== English Version Copyright ===
Merc Release 2.2
Wednesday 24 November 1993
Kahn
Hatchet
=== 職業(Classes) ===
在職業(class)中最重要的一個表是在 "const.c" 中以 "struct class_type" 為型
態的陣列-- class_table(struct class_type 定義在 merc.h 中)。Mobs 所擁有的職業
是 0 ,而玩家的職業則是從 "0" 到 "MAX_CLASS-1"。
Class_table 的內容:
char * who_name;
這三個字的名字是用來給 "who" 這個命令用的。這個也是用在當一個新的玩家
要選擇職業時所顯示用的;並用來和玩家輸入職業代號時檢察用的。
sh_int attr_prime;
將這個職業的這個屬性在一開始就設定為 16。以後若要練習這個屬性只需要花
費 3 點的練習點數。若是其它的屬性則需要 5 點的練習點數。除此之外,一
個玩家可以藉由魔法的物品,來將這一項屬性增加至 18 以上。
sh_int weapon;
這是當這個職業出現時身上所要佩帶的武器的號碼(vnun)。
sh_int guild;
這是這個職業的公會所在房間的號碼(vnum)。這樣可以用來避免其它的職業進
入不屬於他們的公會。
sh_int skill_adept;
這個是用來設定一個職業對技巧或是法術所能學習的等級。
sh_int thac0_00; /* Thac0 for level 0 */
sh_int thac0_32; /* Thac0 for level 32 */
這個是對一個角色(character)在 0 級和 32 級時的 ( To Hit Aromr Class)
Thac0 在任何一個等級都會被更改。
sh_int hp_min; /* Min hp gained on leveling */
sh_int hp_max; /* Max hp gained on leveling */
bool fMana; /* Class gains mana on level */
這裏是定義一個職業在每昇一級所得到的最大和最小的生命點數(Hit point)
而 fMana 若是 true,則這個職業在昇級的時候會獲得魔法點數。
=== 其它和職業有關的表 ===
(1) 在 "const.c" 中的 skill_table 中有一個等級表,是每一個職業所能使用這個
skill 或是 spell 的等級。若是這個職業不會使用法術或是不能使用這個法術,
那麼就全部設為 37 級。如此所有的 Immortal(天使以上的)就可以使用這些法術。
這個表是由 sn 來排列,再來是照職業來排列的。
(2) 在 "const.c" 中的 title_table 包含了所有的 titles。是按照職業的順序來排列
的,然後再依照性別來排列。每一個職業每一個等級都要有二個 titles。
(3) 在 "act_comm.c" 中的 post_table 中包含了 post 的訊息。先是照等級然後再按職
業來排列順序。每一個等級每一個職業都要有二個訊息。
=== 增加一個新的職業 ===
這裏是有關如何去增加一個新的職業:
(1) 在 "merc.h" 中增加 "MAX_CLASS"。
(2) 在 "const.c" 中的 "class_table" 中增加一行這個職業。
(3) 在 const.c 中的 skill_table 中增加一個 sn 的等級限制。若是一個這個職業不
會施法,或是不會用的法術,則全部設定為 37 級。
(4) 在 "const.c" 中的 "title_table" 增加這個職業的 title 。
(5) 在 act_comm.c 中的 "pose_table" 中增加新的訊息。每一個等級你必須要寫下二
行訊息。若是想要使得 post 和 emote 所顯示的訊息不同,就不要在句子中加入
$n 這一類的東西在這些句子的開頭。
=== Immortal 的等級 ===
這裏是所有 Immortal 的等級:
36 Hero 這是普通玩家最高的等級。每一個 Hero 可以使用 Immtalk,而且可
以閱讀一些只供 Immortal 閱讀的文件。到這個時候等級就不會再增
加了。
37 Angel 這個等級的 Immortal 已經可以觀察整個遊戲的大部份事情。但是只
有非常少數的命令是有用的。一個比較常用的是 switch 可以用來進
行 Quest。
37 Angel Immortals at this level can observe most aspects of the game,
but have very few active commands. One command they do have
is 'switch' so that they can help run quests.
38 Deity 在這個等級的 Immortal 已經擁有了足以影響遊戲的一些命令,如
"mload","mset","oload",和 "oset"。
'oload', and 'oset'.
30 Supreme 在這個等級的 Immortal 有 site 和 connection 這一類的命令。如
"reboot" 和 "shutdown"。事實上在這個等中,除了 "advance" 之外
已經擁有了所有的命令。
40 God 在這個等級的 Immortal 中有 "advance" 這個指令。