寵物系統 - 聖殿英雄傳說 MUD

Kelly avatar
By Kelly
at 2019-09-23T16:33

Table of Contents

六日累翻了,先不弄,現在也很想睡。

先看可不可行。

首先依照 dummy.c 的寫法,它是 inherit MONSTER; 所以我大概
得讓傭兵所的目錄位於 /adm/daemons 下例如與科隆塔同一目錄,
在這個地方下像是 hire [玩家id] 的指令,就可以進行傭兵的雇
用。

方便的設計是透過該房間 clone 出 dummy 然後:

call_other(dummy,"loading_xxx","玩家id");

我剛剛試是可以的,玩家下指令可不可以我就不清楚,要試了才知
道,先當成可以。

該傭兵被叫出來後就會直接變成玩家的傭兵,依下篇

Re: [閒聊] 寵物系統
https://www.ptt.cc/bbs/mud_sanc/M.1566646651.A.7E2.html

預計會改到
/adm/daemons/look_d.c

比方

摳頂機器(Laechan:進階盜賊)正站在這裡。
└帶著寵物[潔潔(gigi)]
└帶著傭兵[飛影(hiei)]

上面就是我說的可能會讓顯示看起來較複雜的例子,以後可能還有
帶著生命體之類的,RO 的玩家可以同時帶這三種出門。

sanc 也可以。

傭兵的英文是 mercenary,簡單一點用 guard 也可,假設叫 guard
,那麼預計會使用到玩家 temp_data 區的 guard 欄位。

/cmds/std/_guard.c

那可能是這樣

> guard
傭兵[飛影(hiei)]正跟著你一起行動.

名字: 飛影(hiei)
等級: 120
種族: 石化人
職業: 騎士
能力: 多重攻擊Lv1 騎乘攻擊Lv1 ....
裝備: 基本上可以用虛擬的,看有無必要,大概寫得出來..

能力可以在 loading 時就順便讀取及寫入,初期我的簡單想法是,
比方這個玩家是有學多重攻擊的,那就會有多重攻擊Lv1,它的意思
是如果玩家僱用這個人當傭兵,它會稍微影響到僱主在多重攻擊方
面的相關數值,EX: 連擊數。

讀取例子則像這樣

if(guard=user->query_temp("guard"))
{
if(guard->query("ability/multi-attack"))
num=(num*11)/10;
}

基本上也會有 guard -dehire 這類的解雇語法。

至於其它命令....嘛,或許命令它施展受到限制的輔助法術有可能
做到,像是 guard -cast heal 之類的....guard 指令可以限制玩
家在 -cast 後面能接的法術範圍。

不過這不太好改。目前的 start_skill 及 start_effect 都沒有把
caster 放在函數的參數內,所以必須由傭兵做為發動的主體,而不
是下 guard 指令的人,除非改 start_skill,以 pray.c 為例

int start_skill(object tar,int lv)
{
object ppl=this_player();
string str=skill_name("pray");

改成

varargs int start_skill(object tar,int lv,object ppl)
{
string str=skill_name("pray");

if(!ppl) ppl=this_player();

至於 start_effect 倒是就還好,有把 user 帶進參數內。

初期我會放幾個吧,holy power 會優先放看看。


/std/user.c

大概像底下

> hp
第[120]級 摳頂機器(Laechan:進階盜賊)
生命力 : 100% **************************************************※
精神力 : 100% **************************************************※
內 力 : 100% **************************************************※
寵物:
第[120]級 潔潔(gigi)
生命力 : 109% ************************************************** ※
傭兵:
第[120]級 飛影(hiei)
生命力 : 100% **************************************************※

攻擊目標:
第[55]級 遊客(Customer)
生命力 : 109% ************************************************** ※

adm/daemons/user_d.c

主要改 quit 函數,當玩家有傭兵然後 quit 時,傭兵會被自動移除。

/adm/simul_efun/new_defance.c

嘛,這裡就牽涉到傭兵是要拿來幹嘛的,以及需考量到它跟寵物之間的
同質性問題。

例如 ro 的寵物,有附加飼主能力的效果,常駐的除非寵物消失。

ro 的傭兵,則可以幫忙攻擊,但沒聽說可以幫忙格擋,倒是可以招呼到
一些原本會打向玩家的攻擊。然後基本上對雇主的能力沒啥影響。

也就是說

寵物 傭兵

 可否攻擊怪物   X  ○
 可否被怪物攻擊  X  ○
 對玩家常駐效果  ○  X
 能否對它下指令  ○  ○ (但是下指令的結果各不相同)
能否讓它背東西  X  X

sanc 基本上也會對寵物與傭兵做一些基本區別。


以上是設定稿,看起來可行,擇期實裝。

LAechan

--
Tags: 線上

All Comments

無法登入遊戲

Oliver avatar
By Oliver
at 2019-09-23T16:07
請問有大大跟我一樣無法登入遊戲的嗎 看公告也沒有維修什麼的 還是有臨時公告? https://i.imgur.com/zFdEyn1.jpg https://i.imgur.com/8QBLYLR.jpg - ...

9/26 1330~1530維護公告

Odelette avatar
By Odelette
at 2019-09-23T11:47
情報來源:https://shadowverse.com/cht/news/detail.php?announce_id=1203 情報詳細內容: 各位玩家您好 伴隨新卡包「Verdant Conflict / 森羅咆哮」正式登場,闇影詩章將於以下時間實施伺 服器維護。 ■伺服器維護期間 9月26日 ...

藍色加碼送(9/23~9/26)

Zanna avatar
By Zanna
at 2019-09-23T09:47
藍色加碼送(9/23~9/26) 活動時間:2019/09/23(一)0:00~2019/09/26(四)23:59 活動辦法:回饋消費的球迷玩家,活動時間內於遊戲中消費滿指定金額可獲得對應獎勵( 每個獎勵限拿一次) 項目 條件 獎勵 1 累積消費滿999元(含)以上 協同再訓練券*1+協同數值固定 ...

協同訓練包買二送二(9/23~9/29)

Megan avatar
By Megan
at 2019-09-23T09:46
協同訓練包買二送二(9/23~9/29) 活動時間:2019/9/23(一) 00:00 ~ 2019/9/29(日) 23:59 (不限自購) 買2送2 限3次 產包名稱 協同訓練包 注意事項 1.需於遊戲中達到指定條件才會有獎勵。 2.配發時間:達到指定條件後,9/24 18:00開始 ...

產包回饋送(9/23~9/29)

Audriana avatar
By Audriana
at 2019-09-23T09:45
產包回饋送(9/23~9/29) 活動時間:2019/9/23(一) 00:00 ~ 2019/9/29(日) 23:59 活動對象:全體玩家 活動辦法:回饋消費的球迷玩家,活動時間內於遊戲中消費滿指定產包數量可獲得對應獎 勵 指定產包: 協同訓練產包 項目 條件 獎勵 1 累積每消費滿3包協同 ...