改造の幅を広げる

さて簡単な改造を行った所で、少しずつオリジナリティを出していくために必要な知識を身につけてみましょう。

行動 使い勝手 補足
スキルで使うサブルーチン 覚えないと新規職業は作れません 覚える事で道具などにも転用できるようになります
数値の置き換え 中枢と言っても良いほど 基本的に全ての改造をする上で必要
if文 一定条件を満たした時のフラグ 覚えると大幅に改造の質が上がります
発想力 どういう風に構成するかを考えるのも大事です これを先に行うとエラーを起こす事が少なくなります

以上4つは、最低でも習得しておくと良い技能です。
細かい話は次回以降にして、まずはどういった事かを感じる事が必要です。

今回も簡単な改造を少し用意してみましたので、導入するように弄ってみましょう。


数値の置き換え

とりあえずダメージの部分を改造してみよう。(打撃編)

改造するプログラム:_skill.cgi
改造箇所:剣士のスキル部分

	[5,		3,		'しんくうぎり',		sub{ &_damage(shift, $ms{$m}{ag}*1.5, '攻');	}],

これは順番に説明すると、

	[習得SP,		消費MP,		'スキル名',		スキル効果のサブルーチン],

となります。
今回いじるのはスキル効果のサブルーチンの部分です。

sub{ &_damage(shift, $ms{$m}{ag}*1.5, '攻');	}

さてこのしんくうぎり、効果は『選択した相手』に『自分の素早さ』『×1.5』のダメージを『攻属性』で与えるという物です。
これを敵の防御力に依存するけど、固定的なダメージがある時はどうするかというと、こうします。どん。

sub{ &_damage(shift, int($ms{$m}{ag}*1.5)+50, '攻');	}

これで+50の基本ダメージが補償されるようになりました。
こうすることで、(自分の素早さ×1.5)+50のダメージが基本となり、&_damageの指示に沿って乱数変動が生じます。
そのためダメージが50を切ることもありますが、それは正常です。

とりあえずダメージの部分を改造してみよう。(魔法編)


	[1,		2,		'メラ',			sub{ &_damage(shift, 20, '魔', 1);			}],

これがメラを放った時の物です。
今回は『防御貫通』の効果が加わっているため、敵の防御にダメージは変動しません。
これのダメージを増やす時は、

sub{ &_damage(shift, 20, '魔', 1);	}


sub{ &_damage(shift, 50, '魔', 1);	}

と変更するだけで、ダメージが20⇒50に変化します。
さて此処で問題です。

sub{ &_damage(shift, 20, '魔', 1);	}
sub{ &_damage(shift, $ms{$m}{ag}*1.5, '攻');	}

上は魔法、下は打撃。
この二つには属性やダメージ以外に決定的な違いがあります。
それは何処でしょう?


答えは

&_damage(shift, 20, '魔', 1);
&_damage(shift, $ms{$m}{ag}*1.5, '攻');

で、打撃は属性の指定で終わっている事。
魔法は属性の指定の後に『1』が付いている事。

この1は他の数字でもエラーになるし、付けるか付けないかの二択となります。
つけた場合は敵の基本防御1000未満で防御貫通の必中、1000以上で軽減となります。
これが魔法の仕組みですね。

以上にて今回の基本的な部分をまとめ終わり。
分からなくても、少しずつ触る事が大事です。
最終更新:2009年08月11日 22:40
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。