[wizs] 怪物特殊攻擊參數及設定

看板mud_sanc (Sanctuary - 聖殿)作者 (小太保)時間12年前 (2013/07/11 16:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
這東西我想在暑假定案,我的構想是,廢棄使用 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
文章代碼(AID): #1Htd4Rje (mud_sanc)
文章代碼(AID): #1Htd4Rje (mud_sanc)