Skip to content

カスタム能力と法術の作成方法

Element テーブルで要素を設定していると仮定します。以下の項目が重要です。

id: 一意の数値である必要があります。これは能力IDです。 alias: 要素のエイリアス(別名)、文字列IDです。 type: この能力に対応するC#の型名です。 group: FEAT(特技)、ABILITY(能力)、SPELL(法術)のいずれかです。 tag: 能力をゲームロード時にプレイヤーに自動的に適用させたい場合は、addEleOnLoad を追加します。

Elin Sources を参照してください。

アイコン

要素のアイコンは、Texture フォルダ内に、エイリアス(alias)と同じファイル名で配置する必要があります。例:ActLionDance.pngパターンマッチングを使用して、複数の要素に単一のアイコンを割り当てることもできます。例えば、すべての aliasmy_ele で始まる要素の場合、ファイル名は @my_ele.png にする必要があります。これは my_ele_1my_ele_2my_ele_firemy_ele_coldmy_ele_errormy_ele_xxx などに一致します。完全一致の名前がパターンマッチングよりも優先されます。

テクスチャサイズが48x48でない場合、CWLが自動的にリサイズします。

または、GetSprite メソッドをオーバーライドして独自のアイコンを提供することもできます。

タグ

addEleOnLoad: プレイヤーはロード時にこの能力を自動的に獲得します。 addDice: Calc テーブル内で要素エイリアス(alias)と同じIDを持つダイスを使用します。 godAbility,religion_id: 能力使用時に神のフレーズをトリガーさせます。カスタム信仰に使用します。例として、信仰が cwl_spaghettigod の場合、タグ godAbility,cwl_spaghettigod を使用します。

フレーズ

能力がトリガーされたときのフレーズを、LangMod/**/Data/chara_talk.xlsx ファイル内に phrase_alias テキストを提供することで定義できます。これは _Elona/Lang/JP/Data/chara_talk.xlsx で行われているのと同様です。

スクリプトなし

Elinが提供する既存の proc を利用し、組み合わせて、C#スクリプトを記述せずにカスタムの能力や魔法を作成できます。

type 列には、Elin Sources にある既存の type のいずれかを使用する必要があります。

C#スクリプトの使用

例えば、ActLionDance という能力を追加したいとします。以下のように設定する必要があります。

img

img

エイリアス(alias)と型(type)は同じである必要はありませんが、能力アイコンのテクスチャにはaliasが使用され、要素オブジェクトはtypeにリンクされます。

スクリプトdll内には、以下のコードが必要です。

cs
internal class ActLionDance : Act
{
    public override bool Perform()
    {
        pc.Say("Lion Dance!!");
        return true;
    }
}

このクラスは Element から派生している必要があります。一般的な能力タイプには、用途や意図に応じて ActAIActAbilitySpell などがあります。

クラスは任意の名前空間で宣言できます。CWLは型名を修飾するため、要素型はクラス名自体であるだけで十分です。