[wizs] 未鑑定防具設定備忘
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間12年前 (2013/09/07 05:00)推噓1(1推 0噓 1→)留言2則, 2人參與討論串1/2 (看更多)
這篇是寫給自己看的也是寫給 wiz 們看的。
首先所有新型態區域的「群式怪物」都繼承 /std/new_ob/gmonster.c
,而該檔案有自訂 die 函數,換言之只要是沒有自訂 die 函數的新型
態區域怪物,陣亡時都會 follow /std/new_ob/gmonster.c 的 die。
(當然它裡頭該 return 1 的都有 return 1)
在各新型態區域的 area.h 裡會定義怪物的陣列資料串,其中會掉防具
的怪物它資料串裡頭會多一個東西,一般是 ({ }),有設定時就變成像
是 ({"cape"}) 這樣。
比方某怪設定會掉 cape,這時它就會找 /std/new_ob/cape.c 並clone
出來當做未定名防具的實體檔。
所以 /std/new_ob/ 目錄下沒有的防具要自己新增,以 cape 為例
/std/new_ob/cape.c 防具實體檔
/std/new_ob/cape_set.c 防具設定檔
more cape.c 即可知道它只有幾行(無視 /* */),大部份的設定都放在
cape_set.c 這才是重點。
mixed return_ob_effect(string ftype)
{
switch(ftype)
{
case "鎖妖塔":
switch(random(3))
{
case 0:return ({"syt" ,"雪羽披風", 50,-30, 50, 0, 30, 40, 0}); break;
case 1:return ({"syt" ,"銀狐披肩", 45,-30, 40, 0, 40, 45, 0}); break;
case 2:return ({"syt" ,"白靈肩甲", 40,-30, 30, 0, 50, 50, 0}); break;
}
break;
default :return ({"sanc" ,"聖殿披肩", 50,-30, 40, 0, 40, 40, 0}); break;
}
}
所以其實很簡單,比方說我希望菲里德古堡研究館的某隻有設定會掉
cape 的怪物會掉 cape,那就新增底下
case "菲里德古堡研究館":
case 0:return ({"syt" ,"OOOO披風", 50,-30, 50, 0, 30, 40, 0}); break;
case 1:return ({"syt" ,"XXXX披肩", 45,-30, 40, 0, 40, 45, 0}); break;
case 2:return ({"syt" ,"$$$$肩甲", 40,-30, 30, 0, 50, 50, 0}); break;
break;
一般準備三種名字不一樣(稱呼也不一樣)的 cape,比方你也可以仿
已設定的去給披風、披肩及肩甲,或給新的。
後面的七個數字第七個就是 Int,一般防具不給 +Int。
前六個數字依 score l 的順序 Fel Str Dex Air Con Mag,代表初
始的屬性。比方我可以設定研究院某 cape 是 +mag -con 的,那就
可以設成像是 30, 10, 50, 10, 50, -20, 0
而 identify 則有機率可以做底下的事情
完整: 五個正屬性都在
無遐: 扣屬性的消失
堅固: 增加 armor 值
高屬: 隨機挑屬性高屬
高屬: 隨機挑屬性再高屬
所以初始值不需要很高,可參考目前玩家有拿到「最高」屬性的防
具,比方它是 arm 類,再去 more /std/new_ob/arm_set.c,依照
它是哪裡產的(例如蛇窟或鎖妖塔),再看它的名子(如臂甲),就可
以知道它的設定:
"蛇王臂甲", 0, 50,-50, 50, 50, 35, 0
然後要注意一件事就是要給「default」設定:
default :return ({"sanc" ,"聖殿臂甲", 50,-30, 40, 0, 40, 40, 0}); break;
searchobj 可發現有些玩家有聖殿臂甲,這是因為有些防具並不是
依正規做法產生的,這時防具就沒有 ftype 標記,因此而需要一
個 default: 的判斷。
理念就是讓各 xxx_set.c 檔來控管所有的新型態防具,而因為它
是 xxx_set.c 這時就能 call xxx_set;某函數 去讀取其資料,就
能寫管理用程式。(可參考 norr 寫的 npc 指令做法)
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
推
09/07 06:39, , 1F
09/07 06:39, 1F
→
09/07 11:54, , 2F
09/07 11:54, 2F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
1
2
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
26
31