スキルの不具合修正

Last-modified: 2017-05-29 (月) 17:50:01

Alpha14で修正されました。

スキルシステムの不具合修正

特定のレベルでスキルシステムが働かない不具合を修正します。
現在の記述でうまく働かない理由についてはこの項の下の方に書いておきますので、高度な編集をするつもりの方は参考程度に目を通してみてください。

編集するべき部分は"progression.xml"にある各スキルの、

<multiply[add/setvalue] skill_level="○,○" value="×,×"/>

における○,○の部分です。
ここの2つ目の数字を+1すると不具合が取り除かれます。

value="×,×"/>

の部分をいじる必要はありません。

全ての記述を手入力で書き換えるのは面倒なので、置換の機能を使います。
Windowsの場合は"Ctrl + H"Macの場合は編集から検索、検索で検索ダイアログを開きましょう。
通常スキルのレベルテーブルは1~5・6~10・11~20・21~25・26~45・46~70・71~100なので、検索文字列と置換文字列の対応は、

skill_level="1,5" value
skill_level="1,6" value
skill_level="6,10" value
skill_level="6,11" value
skill_level="11,20" value
skill_level="11,21" value
skill_level="21,25" value
skill_level="21,26" value
skill_level="26,45" value
skill_level="26,46" value
skill_level="46,70" value
skill_level="46,71" value

となります。

スキルシステム不具合の詳細

スキルシステム不具合の詳細

この不具合の理由を考えるうえで、前もって見てほしい記述があります。
クラフト系スキルの品質設定の記述です。

<effect name="CraftingQuality">
       <setvalue skill_level="1,100" value="1,600"/>
<effect/>

以上がxmlの中での記述ですが、ゲーム内でクラフトアイテムの品質は、スキルレベルが1レベル上がるごとに6上がったりはせず、レベルが中間であっても流動的に上がっていきます。
つまり、スキルレベルは1の位刻みではなく小数の位も反映されているということです。
実際に他の効果についてもこの仕様は同じで、oil barrelやstoneのような長時間かかるクラフトを2回にわけて行うと、スキルレベルが上昇しなくてもクラフト時間に変化が出ることがあります。

この仕様のもとでは、レベル帯ごとにスキル効果を記述する場合、整数の位ごとの記述だけでは不十分で、小数まで記述しなければならないのですが、xml内では1~5・6~10・11~20といったように、5~6・10~11の間の小数部分が欠落しているため、その間はスキルによる恩恵が皆無になります。
そこで、上記のような編集を行うことで、表面上の不具合が修正できます。

ただし、この編集方法の場合、6・11・21・26・46・71のスキルレベルで重複して効果が記述されるため、予想しない形で不具合を引き起こす可能性があります。(今のところは記述が二つある場合、下に記述したものに上書きされる模様。)
このあたりが心配な方は、"1,5.999999999"といった記述にすることで、そのような不具合は回避できます。