スキルの増減でスキルが減らせない?

iii

ユーザー
タイトルの通りです。
レベルアップやイベントで追加したものに関しては消えるんですが、クラスやアクターの特徴で追加したものが消えません。
完全上位互換を覚えるのに初期スキルがあっても邪魔だと思い、消そうとしたんですがうまくいきません。
皆さまの知恵をお借りできれば。何卒よろしくお願いします。
 

まっつUP

ユーザー
iii様

上位スキルを覚えている間下位スキルが表示されていない状態にしたい部分だけであれば
EvoluteSkills.jsを使えばおそらく可能です。

非表示にするのではなく、忘却する処理をするプラグインも知っていますが
大抵その手のものは特徴のスキル追加によるものは忘却しません。
 
  • Like
Reactions: iii

iii

ユーザー
ありがとうございます。
早速使ってみたところ理想の動作をしました。助かりました。


しかしツクールは特徴のスキル追加はコマンドでも消せないってこれまたおかしな仕様ですね。
コアスクリプトの方で変な分岐をさせてるんでしょうか?
 

DarkPlasma

ユーザー
しかしツクールは特徴のスキル追加はコマンドでも消せないってこれまたおかしな仕様ですね。
アクターが使用可能なスキルは、習得しているスキルと特徴によって追加されたスキルの和集合として表現されています。
イベントコマンドのスキル増減は、このうち習得しているスキルにのみ有効です。
特徴はデータベースに定義された不変のもので、これをイベントコマンドで操作できないこと自体は自然な仕様であるように思います。

仮に装備Aの特徴として定義されたスキル追加をイベントコマンドで削除したとして、装備を外して再度装備し直したらまたスキルが生えてくる、というのは奇妙な仕様ですよね。
 
そういえば、MVでは、イベントコマンドの条件分岐で、(アクター)が(スキル)を覚えている、
という条件の場合、習得しているかどうかのみで判断し、仮に特徴で覚えていても
「覚えている」ことにならない仕様でしたね。(MZは未確認)
以下のスクリプトなら、確実にいけます。
(ID=2のアクターがID=9のスキルを覚えているかの場合)
JavaScript:
$gameActors.actor(2).skills().some(s => s.id === 9)
 
トップ