自分の考えた面白スキル

ツクールVXAce以降では、戦闘計算式を自由に書いたり
ステートを組み合わせることによりさまざまなバリエーションを
持ったスキルを作れます。
ここは、そんなスキルのアイディアを共有するスレです。

注意:
なるべく、プラグインを使わないスキルにしてください。
デフォルトの機能を駆使したスキルのほうが
汎用性が高いと思うからです。

メモ欄を使ったスキル
たとえば、女性エネミーのメモ欄に<lady>と書き込み、ダメージ計算式を
「b.enemy().meta.lady ? 0 : a.atk - b.def/2 + 100」とすると
「女性にダメージを与えられないスキル」が完成します。

先制攻撃スキルに一工夫
先制攻撃を行うスキルは、こちらの素早さが上がってくると
だんだん意味がなくなってきます。
そこで、こちらが強くなっても先制攻撃スキルを活かせるシステムです。
まずは、防御系スキルの優先度を1000ポイントにします。
次に「疾風斬り」などの先制攻撃スキルの優先度を2000にします。
これなら、相手が防御する前に先制攻撃スキルでダメージを与えられます。
 
まず使うかはわかりませんが、

・歩数アタック
計算式が$gameParty.steps()

調べてみるとFF6にも歩数ダメージというの魔法があるらしいから、
$gameParty.steps() / 32
にしたら 再現できる。

・銭投げ
計算式が$gameParty.gold()

所持金を減らすには計算式を調整してコモンイベントを併用する必要がある。

・強者の一撃
戦闘勝利回数から逃走回数を引いたダメージ
計算式が$gameSystem.battleCount() - $gameSystem.escapCount()

・プレイ時間アタック
プレイ時間によるダメージ
計算式が$gameSystem.playtime()

上記参考元がこちら
http://ktnhmv.jugem.jp/?eid=9

使ってみたいスキル
瀕死で威力が上がるスキル
a.atk * 4 *(a.hp <= a.mhp / 5 ? 2 : 1) - b.def * 2

HPが20%以下になると威力が二倍になるという計算式。

防御貫通スキル
a.atk * (b.isGuard() ? 4 * b.grd : 1)
防御している時に通常の2倍ダメージを与え、それ以外には通常ダメージ

相手のHPに割合ダメージのスキル
b.hp * 1/4
 
最後に編集:

tubo

ユーザー
今まであんまり気にしてなかったけど本当に何でも出来るんですね
すでにあるかもしれませんが思いついたものを

・武器ごとに計算式を設定
 a.weapons()[0] && a.weapons()[0].meta.formula ? eval(a.weapons()[0].meta.formula) : a.atk*4-b.def*2

・防御バフ無視攻撃
 a.atk * 4 - b.def / b.paramBuffRate(3) * 2

・バフがかかっているほど威力アップ
 (a.atk*4-b.def*2) * [0,1,2,3,4,5,6,7].reduce(function(r,n){return a.paramBuffRate(n)-1+r;},1)
 
これから挙げていくものは、原型はツク2000でバトルイベントで行っていたものが、VXAceに至って自由記述式ダメージ計算式が導入された事で楽に可能になったものです。
「STARDUST BLUE」でHP半減攻撃がバトルイベントで行われていたのに着想を得て、色々考えました。
(何れも分散は0%にする事。また、ボスに効かないように独自属性を設定するとよい)

「グラビディプレス」
b.hp / 2
HP半減。端数切捨てなのでとどめは刺せない。

「グラビディブレイク」
b.hp - 1
HPを残り1にする。

「アビスゲート」
b.hp * 10
ステートの「気絶」とは別に、敵を即死させる。10倍なので多少の防御行動などものともしない。

「ラスティキャノン」
b.mhp - b.mhp / 2
最大HPの半分のダメージを与える。半分以下なら即死になる。2発当てれば殺れる。
回りくどい式になっているのは、端数切り上げにするため(切捨てだとHP奇数満タンの相手には2発当てても1残る)。
単体攻撃の「1st」、全体攻撃の「2nd」、そしてランダム4発の「3rd」がある。

「微分」
b.mhp - b.hp
相手のHP減少分のダメージ。半分以下なら即死になる。
上記の「ラスティキャノン2nd」の後にこれを撃つコンボを使うボスもいる。

「しかえしキック」
a.mhp - a.hp
使用者のHP減少分のダメージ。
HPが高い敵にこれを持たせると倒しづらい敵になる。

「スィートシュガー」
a.hp (HP回復)
使用者の残りHPの分だけ味方全員のHPを回復。

後これは違うものですが…

「氷炎ストーム」
v[n] * 2 - b.def
コンビの敵が使う連携技。変数には二者の攻撃力の和を0ターン目のバトルイベントで代入する。
 

開拓者

ユーザー
Aceならコモンイベントとスキルとステートで作れる物だと思いますが
敵がプレイヤーに謎のスキルを覚えさせるスキル というのもありますね。

たとえばモンスターがスキル「ファラオの呪い」を主人公にかけると
主人公はスキル「?????」を習得する、という仕組みです。
同じ名前のスキルが大量にあって戦闘終了後に忘れるけれど覚えている間に使う事ができて
主人公が有利になる事もあれば何も起こらなかったり逆に不利になったりします。

似たような物で、代償を払ったら解除できるステートも作れます。
スキル習得つきのステートを用意して自分のステートを解除するスキルを用意するだけです。

あと、サクリファイスとでも名付けてHPを大量に消費する大回復スキルという物もアリですね。
回復量-消費量を少なくしないといけませんが回復量が低めのゲームで一気に回復できる唯一のスキルにしておくと
盾役へのダメージと味方への回復が同時に起きてスリルが生まれます。
 
最後に編集:
かけ算とわり算に魅入られた、自作品で使った計算式を3つほど置いておきます。

スキル名:メルル
36 * (a.mat + 100) / 100
まずは自作品でもっとも基本的な攻撃魔法から。
簡単に言えば「基本威力×魔力倍率」。
matが0のときに青字の数値そのまま(上記の式でいえば36)のダメージとなり、以後matが1増えるごとに1%ずつ強くなっていきます。
 mat50:54ダメージ(150%)、mat100:72ダメージ(200%)、mat300:144ダメージ(400%)……
威力が高い上位魔法をツクる場合、例えば青字の部分を"36"から"90"に変えるだけで
 mat50:135ダメージ(150%)、mat100:180ダメージ(200%)、mat300:360ダメージ(400%)……
という感じで強くなってくれるので、量産もメンテナンスも簡単なんじゃないかなぁと。
PS2無印のように単純な「基本威力+魔力」だと、最終的には基本威力が誤差あるいはコストの割に合わないレベルで魔力が上がってしまい上位魔法の立場がなくなることがあったため、その対策としてこんな式を考えてみました。
mdfを魔法防御として使っている人は、式の末尾に
- (b.mdf / 2)
とかをつけ足してみてもいいかもしれません。

スキル名:ブリザード
(a.luk * a.hp / a.mhp + a.mat) / 2
氷のブレスで全体攻撃。
HPが最大の状態ならmatとlukの平均値がそのままダメージになりますが、lukはHPぶんの割合しか反映されないため
HPが減ると息切れして弱くなる」ある意味リアルなスキルかもしれません。
ただしmatの半分が最低保証ダメージとして残るため、極端に虫の息にはなりません。
例として'mat130,luk120'のキャラがこのスキルを使うと
 残りHP100%:125ダメージ、残りHP50%:95ダメージ、残りHP15%:74ダメージ……
くらいに変化します。

スキル名:リベンジャー
Math.max((a.mdf * 7 - ( 2 * (a.atk + a.def + a.mat + a.agi))) , a.mdf / 4)
一見複雑な計算式ですが、要約すると
各ステータスが下がるほど強くなる」がコンセプトとなっています。
どんな強敵でもステータスを下げることができるとあらかじめ教えておいて、ごく一部の大ボスがそれを逆手にとってくるという極悪非道なトラップ。
高いステータスほど下げたときのペナルティが大きくなるので、このスキルの使い手は戦闘難易度に直結しやすいatkやagiあたりを高めにしておくと良さそうです。
だからといってまったく弱体化させなければ、確かにこのスキルだけは最低保証ダメージである右の緑字 a.mdf / 4 のダメージで済むわけですが、ほかの攻撃が高威力のまま直撃して結局押し負けるため
どのステータスを何段階まで下げるか」のバランスを問う戦略性の深いスキル……でもあるのかもしれません。
下げられるステータスを軸にすると根底が崩壊してしまうので、青字の部分には下げる方法があるステータス、緑字にしたmdfの部分には戦闘中には変動しないステータスを選びましょう。
 
最後に編集:

開拓者

ユーザー
これはシンプルですが1ダメージ(最小ダメージ)を確実に与えるスキルって
瀕死にすると何かが起きる(起こせる)システムやHPが1桁で防御力が999のモンスターや
ダメージを受けると解除されるステートや回避率の高さを利用すると不思議な味になるんですよね。
強いスキルも大切だけど、弱いのを逆手に取るのもアリだと思います。

1ダメージと最小ダメージを分けたのは理由があって
計算式の最後に0.8を掛けて分散度を0にすれば分散度20の最低ダメージを確実に与えられるスキルになって
計算式の最後に1.2を掛けて分散度を0にすると分散度20の最大ダメージを与えるスキルになるからです。
ダメージの分散度を意識する人はあまりいませんがモンスターやシステムを工夫すると面白くなりますよ。
 
最後に編集:
いつか自分のゲームで使いたいと思っているネタを投下。

◆メメント・モリ(仮)
  敵全体に下記計算式のダメージを与える。
  • b.hp - (rand(9) + 1)
 >全員のHPを強制的に1ケタにする極悪技。
  古くからのFFファンには懐かしい「ミールストーム」と同じようなものです。

◆ダンス・マカブル(仮)
  敵全体を対象とする。残りHPが最大値未満の対象に対し
  強制的に誘惑(味方を自動攻撃)+攻撃力アップのバフを与える。
  (ステータス変化処理はコモンイベントを利用した条件分岐で構成)

 >メメント・モリ(仮)からのコンボ技想定です。
  対応を間違うと壊滅に追い込まれるけど、
  うまく対処すれば攻撃チャンスに化けるのが如何にもボスって感じかも。

◆シールドブレイク(仮)
  敵単体に下記計算式のダメージを与える。
  • a.atk * 4 - b.def * 2 * (b.isGuard() ? 8 : 1)
 >防御している相手限定で特大ダメージを与えます。
  実際のダメージは上記計算式から防御分で軽減された値になるので調整の際にはご注意。
 
以下はVXAce制の未完成品(製作再開の予定なし)からですが…
・猛者への賞賛
 式:360 <= b.atk ? 18000 + rand(2001) : 1 + rand(5)
 対象の攻撃が360以上なら約20000、そうでなければ1~5ダメージ。
 裏ボスがやってくる予定でした。
 裏ボスと戦うときには肉弾系は攻撃360オーバー当たり前なので
 事実上の即死技。

・スーサイド
 式:b.atk * 4
・崩壊する壁
 式:b.def * 4
・空を舞う礫
 式:b.agi * 4
・その運を呪え
 式:b.luk * 4
 対象のステータスにのみ依存してダメージが軽減できない技。
 終盤のボスが使ってきました。
 魔法が固定ダメージだったので、装備を外して
 魔法で戦うのが正解のイメージ。

・力の代償
 式:b.mp * 3
 上記4つの技を使うボスがオマケで持っている全体攻撃技。
 早くMPを使い切らないと痛い目に遭わされますが、
 MPが枯渇すると回復しないとならないので…という悩ましさ。

以下はMVの実験作から。
(実験作なのでどっかで見たような技名とかが結構ある始末ですが)
・聖歌
 式:a.mp * 3.33
 残りMPが多いほどダメージが増える変な全体技。
 始めの内は低コストで強力な全体攻撃が出来るものの
 連発していると威力が酷いことに…
 しかしMP上限が固定100だったので
 言うほど強くも無かったというオチもあります。

・爆走
 式:(1 + (a.hp / 200)) * (メインダメージ計算部)
 メインダメージ計算部は独自ダメージ計算で酷いことになっているので省略。
 規定ならa.atk * 4 - b.def * 2とかなってる式です。
 自分の残りHPが多いほど威力が増える全体攻撃技。
 元気なほど爆走しまくるということです。
 使い手の最大HPが低く、レベル99にしても初期HP+100にしかならない
 仕様にしていたので大して使える技ではありませんでした。

・痛覚倍増
 式:Math.min((a.mhp - a.hp) * 2,666)
 自分が受けているダメージを2倍にして返します。
 ただし上限666ダメージ。リスキーな割に最大威力が…
 こういうスキルを作ると調整がむつかしい気がします。

・精神の剣
 式:1.0 * (((a.mp + a.level) * (能力依存倍率部)) - (装甲値計算部))
 (a.mp + a. level * 1)は通常は「武器威力」が入る部分。
 つまり、残りMPを武器威力にする技でした。
 通常一番強い武器で威力64ぐらいだったので、MPが高ければ強め。
 頭の1.0 * は無駄に見えますが、ダメージに倍率を掛けるスキルは
 計算式をコピペしていたので、そのための1.0 * なのでした。

・お金の力
 式:$gameParty.gold() / 20
 所持金に応じて威力が決まる単体攻撃。
 所持金上限が10000だったので最大500ダメージ。
 お金を消費しないので最大ダメージが低いです。
 デフォルトの所持金上限にするならもっと除算するべきでしょう。

・お大尽
 式:if($gameParty.gold() > 999) {1000} else {0}
 お金が1000以上あれば1000ダメージ、さもなくば0ダメージ。
 こちらはコモンイベントで同じく所持金1000以上なら
 所持金が1000減るようになっています。いわゆる銭投げ。

・技を尋ねて三千里
 式:Math.min($gameParty.steps() / 32,3000)
 歩けば歩くほどダメージが増えます。
 技名になぞらえて最大威力3000点。
 敵からスキルを奪うキャラクターがいたのでこんな技名に。

・時渡の咎
 式:a.addState(107);0.099999
 コモンイベントで味方が「オーヴァドライブ」状態になっていると
 裏ボスがターン終了時に行動を消費せずに使ってくる技でした。
 オーヴァドライブ状態になっているとこの技のダメージが100万倍になるので
 99999ダメージを受けて即死、
 さらに相手がオーヴァドライブ状態になる設定。
 次ターン自身の行動回数+7とかいう強すぎる技への露骨な対策。

・時空修整
 式:a.addState(22);0.099999
 こちらも上と同様。
 味方1人の次のターンの行動回数を+2する
 「タイムツイスター」に反応します。

・崇高なる休息
 式:if(a.hp % 2 == 1) {1280} else {2560}
 自身の残りHPが奇数なら1280、偶数なら2560HP回復。
 敵の残りHPの調整などほぼ不能なので実質ランダム。
 なんでこんな技作ったんでしょうね。

・ライフブレイク
 式:20
 単なる20ダメージ技ですが、ターン経過時に
 バトルイベント+コモンイベントで減ったHP分そのキャラクターの
 最大HPを減らすとか言うとんでもない技に仕立ててあります。
 減ったHP分で判定しているので仕様上ディレイアクション。
 事前に各キャラクターの最大HPを保存しておいて
 戦闘終了後に差し戻す処理が必要なので面倒くさいです。
 これはスクリプトを弄る範囲に入ってしまいますが
 最大HPの下限を1ではなく0にしていたので、喰らいすぎると
 最大HPが0になって復活すら出来なくなる酷い設定。

結構計算式とイベント設定だけでも変な技が作れますね。
ただ、デフォルトで表示してくれるヘルプだけだと
思いつきもしない表記内容が結構あるのはどうなんでしょう。
 
皆さん、ありがとうございます。
「ダメージ計算式」と言っていますが、その実Javascriptのコードを実行するので
様々なことができるわけですが、驚きました。
ここで悪乗りして、Javascriptの関数を生かした技をもう2つ紹介したいと思います。

相手の最大HPの半分(切り上げ)のダメージを与える
Math.ceil(b.mhp/2)
Math.ceilは、引数を切り上げた整数を返す関数です。
こうすれば手軽に、切り上げダメージを実装できます。
ちなみにMath.floor(x)で、xを小数点で切り捨てた数値を出せます。

深夜にプレイしていると、高威力技が飛んでくる
[23,0,1,2,3,4].indexOf(new Date().getHours() ) !== -1 ? 9999 : 10
indexOfとは、配列の中に引数の要素があるとその位置を表す数を返し、なければ-1を返す関数です。
そしてnew Date().getHours()は、現在時間を返す構文です。
つまり、23時(午後11時)から午前4時までの間にこの技を使う敵と戦っていると
9999ダメージが飛んでくるわけです。
 
実際に使っているわけではなくて思いつきなんですが
addState(ステートID)を使うだけでも色々出来そうです。

防御しつつ弱威力攻撃のガードアタックとか、
逆に効果を1ターンぐらいにした防御力低下ステートを作って
低コストで威力が凄まじいけど守備がほぼ0になる
捨て身の攻撃とか。

今作っている奴だと使用後暫く狙われやすくなる弓技
「アピールショット」あたりもこの手法。
斧と槍の技には武器を投げつける事で
飛び道具並みの攻撃優先度を得られる代わりに
「武器喪失」状態が付着して
次のターンは通常攻撃と技が使えなくなる、なんてのもありました。
問題点は恐らく、ミスるとaddStateも無かったことになるってところでしょうか。

後は… 最大HPの下限が0であることを利用したものですが
3ターンの間最大HP0、不死身、全能力2倍になる技なんてのも
作ったりしていました。
効果が切れると現在HPは0のままなので息絶えます。
ただ、ステートの残り時間が上書きされる場合だと
一時的に忘却させるなどしない限りは定期的に使うだけで
単なる無敵になる恐れが…

しかし、時間とかも拾えるんですか。自由すぎますね。
 
自分がよく使うスキルの計算式は
有効度が高い方を優先にする複合スキル(デフォルトだと、物理と炎)
Math.max(a.atk * b.elementRate(1),a,atk * b.elementRate(2))

→ちなみに計算式はこれでいいですが属性はなしにしないと機能しません。
今のところ、エネミーしか採用した事がない計算式は
相手が特定の状態異常だと威力が上がるスキル(デフォルトだと毒として、相手が毒状態の時に威力が増加。)
a.atk * (b.isStateAffected(3) ? 2 : 1)


その内、採用する予定の計算式
TPの値のよって威力増加(TPが100の時に威力が6割増す。)
(a.atk * 4 - b.def)*(1+0.6*a.tp/100)
 
最後に編集:
戦闘のゲーム性ごと変える概念ですが、通常攻撃のスキル(基本計算式)にTPを導入してみたことがあります。

a.atk * (a.atk+a.tp)/(b.def+b.tp)

<特徴>
・敵のステータスと攻撃者のステータスが同じ場合、tpの差によってダメージが増減します。
・元ステータスが低いほど、TPの影響が大きくなります。
・敵・攻撃者間でステータスの乖離が大きいほど倍率が大きくなります(インフレを起こせます)。
・元ステータスがよっぽど低い、もしくは、元ステータスの乖離がよっぽど大きくないと、ダメージが0になりません。
・TP使用の大技があると、自動的に被ダメ増加のデメリットが付きます(相対的なTPが低いと、被ダメージが大きくなるため)。

<導入しておくと良い前提条件>
・バトル開始時に互いのTPを50に設定しておきます。スキルは基本、攻撃する場合にTPを使用します(通常攻撃も含む)。そうすると、まるで綱引きのような駆け引きができます(攻撃すればTPを使い、ダメージ減少。攻撃を受ければTPが増え、ダメージ増加)。ちなみに、TPが0になると通常攻撃もできなくなります(これを利用して敵の攻撃を抑えることも可能)。
・防御にTP回復を加えると、チャージの役割も持ちます。



リアルタイムでダメージが揺れ動くため、結構スリリングな戦闘を実現できます。
また、TPを利用した高度な戦略も導入できます。

式は割とシンプルなんですが、思った以上に扱いには癖がありました。
デフォルトの戦闘バランスに飽きた人向けですね。
 
TPを利用したスキルは、結構面白かったり。

例えば、攻撃によりTPが増加する仕様を採用している場合、手数が多ければ多いほど高威力をたたき出せる技を作れたり。

・アクセルブロー a.atk*(1+a.tp/100) ※a.atkは基本計算式で良い
TPの溜まりが早いと、ダメージを稼ぎやすくなる。この技自体にTPチャージを優遇する効果があれば、このスキルを使えば使うほどダメージが上がる。


一方、TPは攻撃を受けることで溜まるデフォルトの仕様を利用したものとして。

・怒りの鉄槌 a.atk*(1+a.tp/50) ※a.atkは基本計算式で良い
計算式の構造はほぼ同じですが、こちらはTPがダメージを受けて溜まることを前提にしています。


このように、TPを利用すると、ゲームの仕様によって計算式の意味合いが変わってきます。
概念的な意味で、この仕組みは面白いなぁ、と思っています。
 
この手のダメージ計算式で面白いのは、FF5の青魔法や時魔法ですね。
1993年の作品なのに、かなり実験的なことをたくさんしている印象でした。

「自分の考えた」という趣旨とは異なりますが、これを参考にして
自分オリジナルにカスタマイズしやすいものを選んでみます。

・はりせんぼん
どんな敵にも必ず一律1000ダメージを与える技。消費MPが25で燃費がよくないのと、
ドラクエのメタル系のようなモンスターがいる作品には不向き。
特徴的なのは、計算式が数字だけということ。
計算式:1000
分散度0%、会心なし

・????
自分の最大HPと現在のHPの差だけダメージを与える攻撃。
HPが5桁の敵が瀕死の時に使ってきたら9999ダメージを食らい続けて
全滅の危機になり、かなり脅威でした。
計算式:a.mhp - a.hp
分散度0%、会心なし

・ホワイトウインド
現在の自分のHPだけ、仲間全体のHPを回復。
自分のHPが低い時はあまり効果がなく、自分だけ
計算式:a.hp
タイプ:HP回復、分散度0%、会心なし

・レベル5デス
レベルが5の倍数の敵を確実に即死させる。ボスにさえ有効。
計算式:(b.level % 5 === 0) ? b.hp : 0
分散度0%、会心なし
同様にレベル3フレアとかレベル2オールドとか、
レベルが特定の数値の倍数の時にのみ効くという技。

・グラビデ、グラビガ
重力を操作して、標的のHPを半分(グラビガは4分の1)にする。
グラビデ計算式: b.hp / 2
グラビガ計算式: b.hp * 3 / 4
分散度0%、会心なし

・デスクロー
敵の体力を一桁にし、なおかつ麻痺させる
計算式: b.hp - (Math.randomInt(9) + 1)
分散度0%、会心なし
使用効果で麻痺のステートを付加すれば再現可。

いかがでしょ。これらをアレンジすると、面白いオリジナルのものが作れそうですね。
繰り返しますが、四半世紀前にこんな面白い技がたくさん編み出されていたんですよ。
 
ダメージ計算式以外のネタでは、こんなのも。

「たたきおこす」
VX無印の仕様「味方に攻撃するスキルも作れる」「物理攻撃で解除されるステートを作れる」を利したスキル。
味方に弱打撃を行い、睡眠・混乱から無理矢理回復。
MPを消費しないが、ダメージを与えてしまうのがネック。
元ネタはDQ3のパーティアタック。

「真心の味」
最近のもの。とりあか氏の素材に多い食べ物モンスターが使う。
主役パーティ全体に、HP微回復+眠らせるor能力低下。
 

ufo_1122

ユーザー
今制作してる作品のスキルで汎用的かつ特殊なものといえばこういうスキルがあります

【アナフィラキシー】
敵に刺突属性ダメージ/敵の毒状態を解除してダメージ2倍


特定のステートの敵に対してダメージが大きく跳ね上がるスキルですが、大ダメージの代償としてそのステートを消去してしまいます。
ステートによる効果の恩恵と大ダメージを天秤にかけて使うスキルです。
「追撃系スキル」という区分になっており、他にもスタン特効・魅了特効等が存在します。

内部的にはステート側に「属性有効度[毒特効]*200%」のような特徴が付与されており、
スキル側にはステート解除の効果を設定し、計算式に直接属性有効度(b.elementRate(x))を乗算しています。
特にこだわりがなければ単にスキルの属性を「毒特効」属性にしてもいいかもしれませんね。


もうひとつ、盗賊・忍者系の味方のスキルではこういう物もあります。

【潜影斬】
敵に斬撃属性ダメージ/狙われ率が低い程防御無視


狙われやすさ半減のアクセサリを装備していれば敵の防御も半減、
狙われ率がゼロになる「隠密」スキルを使っていれば防御無視でダメージを与えるというものです。
物陰や死角から不意討ちを仕掛けるようなイメージですね。

内部的にはスキルの計算式で敵の防御力(b.def)に使用者の狙われ率(a.tgr)を乗算しています。
(逆に挑発状態だと敵の防御が上昇してダメージが下がります)


逆に踊り子・アイドルのような視覚に訴えるようなスキルを習得しているキャラの場合は、
使用者側に狙われ率を乗算して、注目を集めるほど性能アップ(隠れていると効果ダウン)なんてのも面白いかもしれません。
 
最後に編集:

エルトン

ユーザー
こうして見てみると知らないテクニックがたくさんありますね。
奥深い・・・

自分も割と立たないスキルでも

【同速アタック】
自分と敵の敏捷が離れていれば離れているほどダメージが減るスキル。
逆にいうと敏捷が近いほどダメージが増加する。+-50までの範囲で効率が最高になる。

計算式:a.atk - ( Math.max( Math.abs( a.agi - b.agi ) - 50 , 0 ) * b.def * 0.05 )

敏捷を距離と見立てると使えない事もない、かもしれません。


【高速キラー】
敏捷が高い敵に大ダメージ。

計算式:a.atk * ( 1 + b.agi / 100 ) - b.def


【バグから生まれた耐魔防剣】
元は攻撃と魔法力の平均と、防御と魔法防御の平均でダメージ計算をする技。
その後テストプレイで防御より魔法防御が高い敵に特攻という挙動をしている事に気づいた、
けど面白かったので、その特性はそのままバランス調整をしたスキル。

計算式:( a.atk + a.mat) - ( b.def - b.mdf * 0.5 )


【逆転の一撃】
自分のHPの減少具合によって最低1倍~最大5倍にダメージが増減する。
上の意味不明なスキルよりは実用的、なはず。

計算式:a.atk * ( 4 - a.hp / a.mhp * 4 + 1) - b.def


【潜伏】
公開した作品で実際に使用した、スキルというよりステート。
潜伏状態になって強力な暗殺術を使用する準備をする。
全体魔法を食らうと即解除されるので使い所が難しい。

・狙われ率 * 0%
・会心率 + 30%
・回避率 + 60%
・スキルタイプ追加 暗殺術

継続3ターン、ダメージで100%解除
 

エルトン

ユーザー
ふと、ひたすら計算式が長いスキルとか作ってみたくなった。
その結果がこれ

【呪の呼び声】

敵に魔法ダメージ+状態異常によって各種属性のダメージを与える。
ダメージ表示自体は魔法ダメージと属性ダメージの合計。
また、属性ダメージを与える場合、自身の各種ステータスが増加する。

毒の場合は、水属性の魔法ダメージを与え、自身の防御を上昇させる。

複数の状態異常を与えていれば、各種属性ダメージとステータスアップは属性の数だけ加算される。
敵が暗闇~睡眠の全ての状態異常を受けている場合、
与えるダメージは非状態異常時の8倍となり(正確には属性有効度によって変化する。属性有効度が全て100%ならきっちり8倍のダメ―ジになる)
最大MPを除くすべてのステータスが上昇される。

計算式:var temp_mat=a.mat - b.mdf;var temp_mat_base=a.mat;if(b.isStateAffected(4)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(5)),0);a.addBuff(3,3);}if(b.isStateAffected(5)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(9)),0);a.addBuff(4,3);}if(b.isStateAffected(6)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(3)),0);a.addBuff(5,3);}if(b.isStateAffected(7)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(2)),0);a.addBuff(2,3);}if(b.isStateAffected(8)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(7)),0);a.addBuff(3,3);}if(b.isStateAffected(9)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(6)),0);a.addBuff(7,3);}if(b.isStateAffected(10)){temp_mat+=Math.max(((temp_mat_base - b.mdf) * b.elementRate(8)),0);a.addBuff(0,3);}temp_mat
 
大半は思いついた直後に疑問符が浮かんでくるので、
実装の域まで辿り着けていないのですが…

・敵単体の攻撃に属性を付与するスキル(+通常攻撃属性変化ステート)
 その名の通り、敵の通常攻撃と属性が通常攻撃扱いのスキルに
 無理やりに特定の属性を付与してしまうものです。
 一見すると役に立ちません。
 防具などで耐性を得ていれば話は別なのですが。

・使用ラウンド中、特定1属性のみ、受けるダメージを9割カットするスキル
 これと上記のを組み合わせるというまだるっこしい防御コンボ。
 「これ面白いのか?」と疑問に思っているのが実装に踏み込めない理由。

・自身に10ラウンドの間HP再生-10%、MP再生+5%、TP再生+5のステート付与
 魔法大好きプレイヤーへの朗報です。
 命を削ってでも魔法が撃ちたいなら使えます。
 多分「ピーキー」と言う奴です。

・自身に3ラウンドの間HP再生-15%、消費MP-50%のステート付与
 これまた魔法大好きプレイヤーへの朗報。
 命を削ってでも魔法が撃ちたいなら使えます。
 最大MPが低くても消費自体を下げてくれるのでにっこりできる仕様。
 でも多分「ピーキー」と言う奴です。

・相手のDEFが低いほど与えるダメージが増える攻撃
 世界樹Xあたりっぽい計算式を使おうとしていた所、思いついたスキル。
 まず、通常攻撃の計算式が以下です。

 if(a.atk < b.def * 3) {
  1.0 * (a.atk - b.def) * Math.max(0.9,(1-(3 * b.def - a.atk) / (4.5 * b.def)))
 } else if(a.atk > b.def * 3){
  1.0 * (a.atk - b.def) * Math.min(3,(Math.pow((a.atk * 2) / (b.def * 3),0.5)))
 } else {
  1.0 * (a.atk - b.def)
 }

 相手のDEFの3倍が自分のATKより低ければ低いほど、
 ダメージ自体に倍率が掛かるのです。最大3倍。

 それをこのスキルではこんな風にします。

 if(a.atk < b.def * 3) {
  1.0 * (a.atk - b.def) * Math.max(0.9,(1-(3 * b.def - a.atk) / (4.5 * b.def)))
 } else if(a.atk > b.def * 3){
  1.0 * (a.atk - b.def) * Math.min(9,(Math.pow((a.atk * 2) / (b.def * 3),0.5)))
 } else {
  1.0 * (a.atk - b.def)
 }

 相手のDEFx3が自分のATKより低い時、ダメージ自体に掛かる倍率が
 上限3倍ではなく9倍とかそのへん。
 つまり、相手が弱いほど与えるダメージが爆発的に上がる謎スキル。
 本来大ダメージを与えたい相手って自分より格上なんじゃないの。
 そういう突っ込み待ったなし。

他にも属性3つぐらいのダメージを大幅にカットするが、別の1属性ぐらいは弱点になって突かれると酷いダメージになってしまう防御系スキルなど、
「思いつき」をメモした結果のスキルメモは酷い有様に。

かたっぱしから実装してみるのも手っちゃ手なのですが、
果たして「面白スキル」になる事が出来るのか。
ぶっちゃけると「クソスキル」になるんじゃないのか。
思いつきスキルメモの明日はどっちだ、状態です。
 
トップ