[閒聊] 關於新的 buff
嘛,這個挺棘手的。
首先是 remove 的問題,這個要改 /std/ob/armor_d.c,
仿 enchant 的作法,在玩家 remove 時將 buff 清掉,
我可能採行的做法是..
effect=ob->query("new_effect");
if(effect)
{
effectname=keys(effect);
foreach(t in effectname)
{
k=ob->query("new_effect/"+t);
user->add_temp("new_effect/"+t,-k);
}
}
第二要解決的是 wear 的問題,這個要改 _wear.c,修改
方式是
if(ob->query("new_effect"))
{
effectname = keys((mapping)ob->query("new_effect"));
foreach(t in effectname)
{
k=ob->query("new_effect/"+t); //***
user->add_temp("new_effect/"+t,k);
}
}
再來是 view 的問題,因為現在只有武器可以附魔,而新
型態的防具「並不包含武器」,而且只有新型態的防具有
new_effect 欄位,..
狂 風 刀(Crazy_Wind Blade) [你目前正穿著它]
────────────────────────────
級數:100
型態:blade
重量:180
價格:7000
殺傷:2800
命中:200
認主:laechan
影響:con-9 str+13 air+8
附魔:20% 的普攻/en的爆擊傷害提高 5.0%
────────────────────────────
所以我打算設計成,如果防具原先就有影響欄位,那就變成
影響:con-9 str+13 air+8
5% 的機率在攻擊中發動致命一擊
而如果原先沒有影響欄位就變成
影響:5% 的機率在攻擊中發動致命一擊
或者是..
影響:con-9 str+13 air+8 致命一擊+5%
因為共用「影響」欄位,玩家才能理解這代表這個欄位的資
訊是可以儲存的,不會隨著帶防具離開而消失。
最後是 new buff 參考的標的部份,目前以 D3 跟 RO 為參
考主體,我的設計是「每一個新型態防具部位」,會有各自
的 new buff 組合,比方以「致命一擊」為例,會作用的範
圍只有跟「手部」相關的防具,例如..
手套 gloves
手環 bracelet
手鍊 wristlet
臂甲 arm
戒指 ring
左戒 leftring
盾牌 shield
然後不會上面的全部都設,手套是幾乎一定會設的。
再由手套為例,使用 eqstat -type gloves,可以知道手套
的主力屬性是 str、dex、air、mag,少部份會加 fel、con
,新型態的手套就會採用上面的原則,並配置適當的負屬性
,例如 +mag 的就 -str,加 air 的就 -mag,以此類推。
那這裡就要決定 new buff 的欄位名稱,就是 new_effect,
這是因為抗性使用的是 anti_effect,亦即
一般屬性、3p 值 effect
抗性 anti_effect
新的 buff new_effect
然後修改的標的是玩家的 temp 區資料,就不會影響到主要
區域的數值。
最後,因為聖殿已經實裝抗性設定,所以新型態防具也將實
裝抗性設定,但是同樣的,不是所有部位都會實裝,以臂甲
為例就很適合實裝。
但是抗性不會設為綴詞,如果要設為綴詞,就會取消「堅固
」這個綴詞(即不強調防禦值的變動),增加「抗性」這個綴
詞,我是考量到這樣增加會沒完沒了,因為致命一擊也給得
「致命」,...
不過它有變通方法,判斷 strlen(shorts) 即可。
還有,以高體魔這個綴詞為例,目前考慮改成「雙高屬」這
個綴詞。
總之,new buff 應該不難實裝,重點在於要實裝哪些,致命
一擊是一定會給的,還有一個一定會給的就是「大絕的傷害
力增加 n%」。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.66.251.237
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章