[wizs] 怪物特殊攻擊參數及設定
這東西我想在暑假定案,我的構想是,廢棄使用 special
及 special_fun 的做法,改成在 mob 的 special_attack
裡面實做一個函數。
一、怪物在持續呼叫 continue_attack 函數的過程中,
會經常 random 判斷是否呼叫 special_attack 函
數。怪物等級越高 random 值越高。
該判斷會受到沉默術的影響,怪物被沉默成功時不呼
叫。
二、special_attack 函數會讀取怪物身上 special_attack
參數,先得到有幾個攻擊,再用 random switch 去跑
屆時就可依攻擊種類,看玩家身上有哪些參數來決定
有效無效,例如定身攻擊遇到聖體附身會無效這類的
三、指令 con 新增觀看該怪物會哪些特殊攻擊的段落。
/std/gmonster.c
void continue_attack()
{ MOB_D->continue_attack(this_object()); }
void execute_attack ()
{ MOB_D->execute_attack(this_object()); }
void normal_attack(object tar)
{ MOB_D->normal_attack(this_object(),tar); }
主要修改 mob_d.c 即可:
void execute_attack (object me)
{
object tar,wp;
int ss,special_ok;
if(!me) return ;
if(me->query_temp("countdown_attack")>0) return ;
if(!tar=me->query_current_attacker()) return ;
// 特攻
ss=(int)me->query("special")-(int)me->query("god-damn_effect")/10;
ss=ss+1;
if( ss>99 || 1+ss >2+random(100))
{
tar=defend_attack(me,tar);
call_other(me,"special_fun",me,tar);
return ;
}
假設 god-damn 也影響這類特攻頻率,那原則上 god-damn
是進階技能,應設定為無視怪物設定全面影響,但是它無法
拔除怪物的特攻,只能降低其頻率這樣。
(目前是這樣設定的)
則上面的程式段只需 insert 一條與 special_attack 有
關的判斷即可。
不難寫,實裝了會公告。
最後,RO 有做一項設計就是當你的屬性達到多少時,對某
些特殊攻擊可免疫,聖殿也可以做這個,數值的話,我想就
定 10000 吧。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.157.53
推
07/11 18:02, , 1F
07/11 18:02, 1F
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章