独学ツクールブログ

ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。

<< RGSS奮闘記81:プリセットを読み解く24(Game_Battlerクラスその6) | main | 驚きの超ストック >>

[ - ] スポンサーサイト

一定期間更新がないため広告を表示しています

| 2018.05.23 Wednesday | - | - |

[ RGSS奮闘記 ] RGSS奮闘記82:プリセットを読み解く25(Game_Battlerクラスその7)

まだまだ続くよー。
今回はアイテムの効果適用。

が。
今回のメソッドでは今までの「直接攻撃」「スキル」とかぶる部分が多い。つまり処理の切り分けが不十分ということだがまあそれはいいとして、前回前々回と同じことを行っている部分は説明を省略することにした。これで今回で全部終わりそうだ。


では早速処理の解説へ。
クリティカルフラグのクリアから「不確実なスキルの場合は有効フラグをセット」までは既出。
次。命中の場合の回復量の計算。アイテムの回復量には「回復値」と「回復率」があるため、これを計算する。「最大HP * 回復率 + 回復値」というごく単純な式である。これをHPとSPについて行う。
ここで、回復量が負の場合、つまりダメージアイテムの場合は回復量(ダメージ値)について対象の防御力での修正を行う。これはスキルの場合と同じだが、異なるのはFがアイテムの設定から取得される点。
続いて属性修正と分散の処理。これも防御力での修正と同様、アイテムの設定値を使用する以外はスキルと同じ。ちなみにここでifを入れ子にしない理由は謎。
続いて、ここまでのHP回復量が負の場合、防御修正。
ここまでの処理が終わると、実際の効果の処理に移る。
まずは、self.damageに回復量の正負反転を代入。
それから回復処理とフラグ処理、ステート変化処理。
次に、パラメータ上昇が設定されている場合、設定されたパラメータに上昇値を加算する処理。
次は、HP回復値とHP回復率がともに0の場合、ダメージ文字列を空に設定する。このとき、SPの回復量0、パラメータ上昇無し、ステート変化も無しの場合には「Miss」に設定する。
以下、ミスの場合、戦闘中でない場合、effectiveを返して終了まではこれまでと同様である。



さーてだいぶ省略したからスペースに余裕があるぞ(笑)
以下、スリップダメージの適用と属性修正の計算。

スリップダメージは、最大HPの10%に分散度15で分散を掛けたものをHPから減算する処理。特に難しい処理もなく、分散計算は攻撃ダメージと同じ計算式である。

最後。属性修正の計算。こいつは微妙に曲者である。というのも、以前少し触れたが、ツクールXPのデフォルトの属性計算は対象の属性相性のうち「一番弱いもののみ」を使用する。複数弱点を突いてダメージ4倍のようなことが単純にはできない仕様だ。
それを踏まえ解説。
まず、無属性の場合。これは単純に100を返して終了。
次が問題の処理。
まずは修正値weakestに-100(=100%の回復)を設定する。続いて、element_setの各要素についてweakestとその要素の属性修正値のうち大きいほうを取る。最後にweakestを返して終了。
ちなみに相変わらずのfor使用と無駄な処理。ここは

return [-100, element_set.max_by{|element| self.element_rate(element)}].max

でいいと思うんだけどね。分からんものだ。



さて、長々続いたGame_Battler編もこれで終了。
正直確認していくうえでの記述や処理の甘さをツッコむほうが疲れた(笑)
次は、直接世話になることが少ないGame_BattleActionクラス。予定日は決まっていない。


タグ:[ツクールXP] [Ruby] [RGSS] [プリセットを読み解く] [Game_Battler]

| 2011.11.24 Thursday 20:05 | comments(0) | trackbacks(0) |

[ - ] スポンサーサイト

| 2018.05.23 Wednesday 20:05 | - | - |

コメント

コメントする






この記事のトラックバックURL

トラックバック

このページの先頭へ▲

Twitter

WebClap

Blogram

ブログランキングならblogram

calendar

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  
<< October 2019 >>

categories

archives

Amazon

selected entries

recent comment

recent trackback

recent ranking

links

search this site.

sponsored links

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM