忍者ブログ

蘭太郎ゲームズ

蘭太郎が制作したゲームに関する紹介ブログです。
MENU

スキル関連の仕様

ゲームを制作してて、気が付いたこと、解ったことなど。
自分の理解度を再確認するためのメモ書き。

間違ってる部分もある……と思う。いっぱい。

(本体ver.1052)


スキルの挙動に関しては、
公式追加スクリプトのcustom-skill.jsをじっくり見てみると
なんとなく解ってくる――気がする。

******
最初はスキル発動に関する記述。

var alias1 = SkillRandomizer.isCustomSkillInvokedInternal;
*同ファイル内のコメントより引用
// 発動型スキルは、SkillRandomizer.isCustomSkillInvokedInternalをオーバーライドする。

スキルランダマイザーなんちゃら~とは、なんぞ?と思ったら
singleton-skillcontrol.jsを開く。

スキルは内部的には、キーワードで管理されている。
必中などのデフォスキルは(SkillType.TRUEHIT)スキルタイプで判別されている。
だから、エディタで必中1(技で発動)とか必中2(速さで発動)とか
違うスキル名で登録しても、内部的には同一として扱われる。
例えば
連続と流星が同じ(キーワード)だと発動チェックは、どちらか一方だけになる。
(ユニットスキル(エディタ上リスト順?)>クラス>武器>アイテム>ステート……順?)

逆に言えば、同じ処理をするスキルスクリプトの
キーワード部分を別のものに変えてコピペしておくと
連続+流星も可能。
……その場合、10回攻撃(×武器の攻撃回数)になるから、攻撃回数がはんぱなくなる。
ブレンダ―持ち双撃・流星アゼリアさんなら
10ダメ*(4回*2*5)=400ダメージ(こわい!)
…あかんわ、これ。修正しないと。
攻撃回数乗算じゃなくて、加算方式にすべきか。
単純に上限値を設けるか……。

SkillRandomizer.isCustomSkillInvokedInternalを上書きして
カスタムスキルを発動させる。
ここをちょっと弄ると、相手のクラスやステート状態で発動を許可したりできる。

******

で、次がスキル本体の挙動部分。
var alias2 = AttackEvaluator.HitCritical.calculateDamage;

ダメージ2倍スキルなので、attack_order.js内の
AttackEvaluator.HitCritical.calculateDamageを変更している。
カスタムスキルの内容に合わせて、書き換える部分を探してこないといけない。
(↑これが大変。)

たとえば、「スキル発動時に相手は反撃できない」としたい時には
パッシブ側のroundCountを0にする処理を加えるといい。

******

拍手

PR

Comment

お名前
タイトル
E-MAIL
コメント
パスワード

× CLOSE

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

ブログ内検索

× CLOSE

Copyright © 蘭太郎ゲームズ : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]