Re: [建議] Holybell的功能
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間15年前 (2010/07/14 16:22)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/2 (看更多)
※ 引述《ttem (海刮子)》之銘言:
: 法理斯的技能之一Holybell
: 除了解除定身之外
: 敘述中有提到
: 敘述有「你的護盾受到聖潔鈴音的強化」
: 但現在聖光盾是次數消耗型的
: 所以建議增加能防禦的次數
: 再寫好Stigmata,法理斯就完整了
: 最好轉職的牧師進階,大家都來玩玩
護盾強化的最簡單寫法,是替護盾加上一層保護膜,
holybell 在發動時會設定兩項參數
me->set_temp("holybell_times",用來判斷效果時間);
me->set_temp("holybell_check",holybell技能值);
因此可用上面兩項參數當判斷依據,在 shield 函數中..
mixed shield(object me,object tar,int dam,string type)
因為連自體護盾都是這樣寫,這其中能更動的就是 dam,因此
簡易改法就是護盾強化=dam 降低。
但是這樣的寫法應該避免。
另一個更改就是 type,「any kind」的攻擊碰到 holybell強
化過的盾,dam type 會被加上「-holybell」,再透過底下判
斷..
if(strsrch(type,"holybell")>0)
降低扣盾防值;
即能達到強化目的,再加上原本就有底下判斷式..
if(sizeof(type)>13)
{
if(type[strlen(type)-13..strlen(type)-1]=="-break_shield")
bs=1;
}
因此..
一、更動 /adm/daemons/fight_d.c
if(tar->query_temp("holybell_times")>t)
sh=shield2_defance(tar,me,hit,u,"holybell-"+type,damage);
else
sh=shield2_defance(tar,me,hit,u,type,damage);
二、更動 /d/spell/holy_shield.c 關於上面的程式段..
sl=sizeof(type);
if(sl>13 && type[strlen(type)-13..strlen(type)-1]=="-break_shield")
bs=1;
並在扣盾防值的地方加上底下判斷
if(sl>9 && type[0..8]=="holybell-")
mod[0] = max - n*500;
else
mod[0] = max - n * 1000; //擋一次扣1000盾防, 殺傷每10萬多扣1000
如果你的護盾有 holybell 加持強化,那所扣的盾防值會降低
一半,未來有機會再加入 holybell 技能值影響。
目前光之結界有規劃增加盾防值,但礙於自體結界多數寫在怪
物檔內(就是沒有統一控管),當我想多傳一個參數給 shield
函數時就得連這些怪物都改,我懶,所以光之結界有空再想別
的規劃。
另外敘述是「你的護盾受到聖潔鈴音的強化」,所以能量盾以
及水之護盾也會受到 holybell 的影響,這個稍後會補上。
最後,依上面程式的寫法,若 mob 也有被設定聖光盾的話,該
mob 的聖光盾也會被強化,當然這個可以被略過(變數 u 控制)
,不過目前我想看看不略過的話會不會比較有意思。
Belldandy.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.161.159
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
34
67