[wizs] BOSS系統設計概要
這篇打完就差不多了。
首先,我規劃中的 BOSS 是可放在區域任何地方的,它會由一個
系統集中控管。以此為出發點產生的幾個初步想法就是
1.由 weather_d.c 每 3~4 分鐘呼叫這個物件的判斷函數一次
判斷函數主要判斷各 BOSS 的物件還在不在,在的話就不理會
,不在的話就有點複雜。
首先,不管如何 BOSS 會被生出來並紀錄出生時間。
接著假設 BOSS 被打死,也會被紀錄死亡時間。
然後每隻 BOSS 都有重生週期。─────→────────┐
│
無出生時間、無死亡時間 : 直接生出 BOSS 並紀錄出生時間 │
有出生時間、無死亡時間 : 這就是 BOSS 中途莫名奇妙消失 │
則生出 BOSS │
生出時間極大於紀錄的出生時間 ←┘
時就蓋掉紀錄的時間(重新計算)
有出生時間、有死亡時間 : 那就是以死亡時間+重生週期為
計算,若計算值>現在時間,就
生出 BOSS 並紀錄出生時間
所以會有三種時間計算。
這時,即便生出的 BOSS 突然不見,最慢四分鐘內也會重生。
2.BOSS 可被單獨 clone 出來
則該 BOSS 陣亡時一樣會呼叫陣亡函數,並可能呼叫系統登錄
其死亡時間。
為避免這種情況,由系統生出的怪物將會帶特別的參數。
則無此參數的死亡就直接死,不會做系統登錄的動作。
3.BOSS 必須被統一管理
簡易的做法就是在 /std/new_ob 下建立相關資料。
4.系統必須有防錯機制
簡易的說物件是以 static 方式平常被存放於系統內,則當
系統被 update 時,系統必須有辦法找回被清掉的紀錄。
這個透過 save/restore 及一些特殊做法基本上就可做到。
5.BOSS 的特性
a.BOSS 是會四處移動的
b.BOSS 會帶著小兵
c.BOSS 大部份按照亞斯德的參數設定
d.BOSS 的掉寶設定最多,並有機率掉特殊武防的設定
e.BOSS 有難以防禦閃避格擋的特殊攻擊(但還是有方法)
f.BOSS 很多攻擊都是對全體
g.BOSS 打人很痛
h.BOSS 每隻等級都不一樣
i.BOSS 會在區域內瞬移(然後有方法可限制其瞬移)
j.BOSS 無視玩家一般的閃格擋技能(但護盾,盾擋有效)
6.分散管理
系統主架構會放在 /adm/daemons 下,但是副架構會放在
/open/cmds 下,我的做法是它會有一個物件及一個 .h檔
,其中 .h 檔就是各 wiz 皆可編輯的,編好一個 .h 檔
並 update 該物件,就代表登錄了一隻 BOSS。
因此初期我會撰寫範例,各位 wiz 只要照範例把資料複製
改一改貼上,就可簡單新增 BOSS。
7.是否要跟 runmap 出來的資料結合?
這個我還在考慮中。
系統將依上面草案設計。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 編輯: laechan 來自: 1.165.189.245 (07/24 00:13)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
31
60