小貓研究室 - 技能 source code 結構簡介

回覆文章
jrealm
系統管理員
文章: 1084
註冊時間: 2014-03-31, 23:10

小貓研究室 - 技能 source code 結構簡介

文章 jrealm » 2016-11-30, 09:57

1. /std/skill.c 標準技能檔, 所有技能都會繼承這個檔案 2. /daemon/skill/*.c 技能檔案, 檔名就是技能的英文名 內容通常是定義 A. 普攻資訊 (包含悟招) B. improve_new_action() 悟招條件的判斷與機率, 本職武器經驗有提升時會被呼叫 C. valid_learn() 判斷是否能 learn/practice D. valid_enable() 判斷是否能拿來 enable E. query_action() 普攻時呼叫, 可取得一招普攻資訊 F. practice_skill() practice 的判斷與消耗 G. perform_action_file() exert_function_file() conjure_magic_file() med_pharmacology1_file() med_pharmacology2_file() 定義 perform/exert/conjure/med 等特殊功能的檔案位置 G 項的 function 只會實作其中一項 一般武技都是實作 perform_action_file(), 心法則是 exert_function_file() 以 /daemon/skill/alltruthsword.c 為例 其特攻的檔案位置就是在 /daemon/class/alltruth/alltruthsword/*.c (CLASS_DIR = "/daemon/class/") 檔名就是特攻的英文名, perform 時會執行對應檔案中的 perform() 心法 /daemon/skill/taiiforce.c exert 時會呼叫的 function 則是定義於 /daemon/class/alltruth/taiiforce/*.c function 名稱為 exert() (其他依此類推...) perform/exert/conjure/med 的條件與相關的計算, 都是寫在對應檔案的對應 function 之中 H. enable_skill() disable_skill() 通常拿來處理常駐效果 I. skill_improved() 技能升級時的相關處理, ex: be-evil-nail 的增加殺氣 XD

回覆文章