Skip to content

tomwu2021/NNNN-FormulaTemplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 

Repository files navigation

NNNN_FormulaTemplate 公式模板系統

插件基本資訊 / プラグイン基本情報 / Plugin Basic Information

插件名稱: NNNN_FormulaTemplate
版本: v1.0
作者: NNNN
類型: 原創插件 (非改寫)
更新狀態: 穩定版本


1. 插件主要功能簡述

繁體中文

公式模板系統提供可重用的傷害公式模板,避免重複設定相似公式:

  • 佔位符替換系統:支援有序佔位符(%%、%0)和索引佔位符(%1、%2等)
  • 雙處理模式:啟動時預處理和即時處理兩種模式
  • 公式驗證:內建公式語法驗證功能
  • 調試支援:完整的調試模式和命令系統
  • 預設模板:提供基本攻擊、隨機傷害、固定傷害等常用模板

日本語

公式テンプレートシステムは再利用可能なダメージ公式テンプレートを提供し、類似公式の重複設定を回避:

  • プレースホルダー置換システム:順次プレースホルダー(%%、%0)とインデックスプレースホルダー(%1、%2等)をサポート
  • 双処理モード:起動時前処理とリアルタイム処理の2つのモード
  • 公式検証:内蔵公式構文検証機能
  • デバッグサポート:完全なデバッグモードとコマンドシステム
  • デフォルトテンプレート:基本攻撃、ランダムダメージ、固定ダメージなど一般的なテンプレートを提供

English

Formula Template System provides reusable damage formula templates to avoid repetitive similar formula settings:

  • Placeholder Replacement System: Support sequential placeholders (%%, %0) and indexed placeholders (%1, %2, etc.)
  • Dual Processing Mode: Startup preprocessing and runtime processing modes
  • Formula Validation: Built-in formula syntax validation
  • Debug Support: Complete debug mode and command system
  • Default Templates: Provides common templates like basic attack, random damage, fixed damage

2. 參數使用說明

主要參數 / メインパラメータ / Main Parameters

公式模板設定

  • formulaTemplates: 公式模板列表,包含ID、名稱、公式和描述
  • processingMode: 處理模式選擇
    • preprocess: 啟動時預處理(相容性佳)
    • runtime: 即時處理(效能佳)
  • enableDebug: 啟用調試模式,顯示公式替換過程的詳細資訊

預設模板配置

  • ID: 1 - 基本攻擊公式: a.atk * %1 - b.def * %2
  • ID: 2 - 隨機傷害公式: Math.randomInt(%1)
  • ID: 3 - 固定傷害公式: %1
  • ID: 4 - 生命比例公式: b.mhp * %1

標籤設定

技能/道具標籤:

<formulaTemplate:模板ID或名稱>    # 指定使用的公式模板
<formulaValue:數值1,數值2...>     # 提供替換值

3. 使用步驟

步驟1: 插件管理器設置

  1. 啟用 NNNN_FormulaTemplate
  2. 選擇處理模式(建議使用runtime)
  3. 設定自訂公式模板(可選)
  4. 啟用調試模式(開發時建議開啟)

步驟2: 公式模板配置

  1. 在插件參數中設定公式模板
  2. 使用佔位符設計公式:
    • 有序佔位符:%%%0(按順序替換)
    • 索引佔位符:%1, %2, %3...(按索引替換)

步驟3: 技能/道具設置

在技能或道具的備註欄設定模板標籤:

<formulaTemplate:1>
<formulaValue:2.5,0.8>

步驟4: 佔位符使用規則

  • 建議: 同一模板中只使用一種佔位符類型
  • 有序佔位符: 依序替換,適用於線性公式
  • 索引佔位符: 可重複使用同一數值,適用於複雜公式

4. 佔位符使用範例

範例1: 純索引佔位符

// 模板公式
"a.atk * %1 - b.def * %2 + %1 * 0.1"

// 設定標籤
<formulaTemplate:基本攻擊>
<formulaValue:150,50>

// 最終結果
"a.atk * 150 - b.def * 50 + 150 * 0.1"

範例2: 純有序佔位符

// 模板公式
"a.atk * %% - b.def * %% + %%"

// 設定標籤
<formulaTemplate:連續攻擊>
<formulaValue:2.5,0.8,10>

// 最終結果
"a.atk * 2.5 - b.def * 0.8 + 10"

範例3: 複雜公式

// 模板公式
"Math.max(a.atk * %1 - b.def * %2, %3)"

// 設定標籤
<formulaTemplate:最小傷害保證>
<formulaValue:3.0,1.5,20>

// 最終結果
"Math.max(a.atk * 3.0 - b.def * 1.5, 20)"

5. 測試與調試

調試命令 (啟用調試模式時可用)

// 測試指定技能的公式
FormulaTemplate test [技能ID]

// 列出所有可用模板
FormulaTemplate list

// 測試佔位符替換
FormulaTemplate testPlaceholder "公式" "數值"

測試範例

// 測試技能ID 1的公式
FormulaTemplate test 1

// 測試佔位符替換
FormulaTemplate testPlaceholder "a.atk*%%+%1*%0" "10,20,30"

公式驗證

系統會自動驗證公式語法,確保:

  • 語法正確性
  • 變數有效性
  • 計算結果合理性

6. 腳本調用 API

// 獲取最終公式
FormulaTemplate.getDamageFormula(item)

// 驗證公式
FormulaTemplate.validateFormula(formula)

// 獲取模板
FormulaTemplate.getTemplate(identifier)

// 替換佔位符
FormulaTemplate.replacePlaceholders(formula, values)

7. 版權聲明

授權條款: MIT License
商業使用: ✅ 允許
二次開發: ✅ 允許
轉售權限: ❌ 禁止轉售原插件
署名要求: 建議保留原作者資訊


8. 注意事項

使用建議

  • 建議在同一模板中只使用一種佔位符類型
  • 複雜公式建議使用索引佔位符
  • 開發階段建議開啟調試模式

效能考量

  • Runtime模式:效能較佳,適合發佈版本
  • Preprocess模式:相容性較佳,適合除錯階段

優先級順序

  1. 技能/道具本身的damage.formula
  2. 模板公式
  3. 預設公式

9. 常見問題

Q: 可以在一個模板中混用不同類型的佔位符嗎? A: 技術上可行,但不建議。兩種佔位符分開計算,容易造成混淆。

Q: 如何處理公式驗證失敗的情況? A: 系統會回退到原始公式,並在控制台輸出錯誤資訊。

Q: 模板可以引用其他模板嗎? A: 目前版本不支援模板巢狀,未來版本可能會加入此功能。


10. 更新日誌

v1.0 (當前版本)

  • 初始版本發布
  • 支援有序和索引佔位符
  • 雙處理模式
  • 調試系統
  • 預設模板集

About

Reusable damage formula template system with placeholder replacement

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published