さて、スキルの作り方が分かった所で職業の作成に入ってみましょう。
大きく分けて、職業の作成に必要な作業は3つあります。
①職業のグラフィックを用意する
②職業の基本データを_dataに入れる
③職業のスキルデータを_skill.cgiに入れる
今回は順に追って作って行ってみましょう。
今回作る職業は彼らです。
つまるところは猫です。
職業:猫を作ってみましょう。
①グラフィックの用意
今回は猫を使うという事で問題無いですが、グラの無い職業は自分で作ります。
ドット絵指南を参考にどうぞ。
なお、猫2匹は此処で拾ってもいいですが、既に落としてあるはずの基本データの中、party/icon/chrの30と31がこの画像です。
入手したらparty/icon/jobに入れましょう。
名前は
黒猫を74_m.gif、白猫を74_f.gif
で保存します。
②職業の基本データを作る
今度は_date.cgiを開いて下さい。
[68, 'コロヒーロー', 5, 2, 4, 3, 3, sub{ &_is_need_job(68) || $m{ite} eq '99' }],
[69, 'プチヒーロー', 5, 2, 4, 3, 3, sub{ &_is_need_job(69) || $m{ite} eq '100' }],
[70, '天竜人', 4, 5, 3, 2, 3, sub{ &_is_need_job(70) }],
[71, 'チョコボライダー', 5, 3, 2, 3, 2, sub{ &_is_need_job(71) || $m{ite} eq '108' }],
[72, '算術士', 3, 6, 1, 3, 3, sub{ &_is_need_job(72) || $m{ite} eq '109' }],
[73, 'すっぴん', 5, 5, 4, 4, 4, sub{ -f "$userdir/$id/comp_job_flag.cgi" }],
等と職業名の一覧の下にありますので
[74, '猫', HP, MP, 攻撃, 防御, 素早さ, sub{ 1 }],
とすっぴんの下に追加しましょう。
こうする事で職業がデータ上追加されますが、この状態でアップロードすると戦闘時に暗転します。
HPにはHPの成長率、MPにはMPの成長率、攻撃にはAtの成長率、防御にはDfの成長率、素早さにはAgの成長率をそれぞれ入れます。
一つの限界は9までなので、それ以上を指定しないように。
③職業のスキルデータを作る
此処が一番楽しくなる所です。
さて、猫はどういう事をするのが得意でしょうか。
素晴らしい跳躍力、俊敏性、柔軟性、癒しが候補と上がります。
これを職業に置き換えるなら…
スピードアタッカー兼ヒーラーと呼んだ、高速回復型となります。
要するに武道家+僧侶ですね。
余談はここまでにして、スキルを作っていきましょう。
_skill.cgiを開いて下さい。
sub skill_73 { # すっぴん
my $v = ($ms{$m}{at} + $ms{$m}{df} + $ms{$m}{ag}) % 73;
# ※注意『$v eq '73'』は無限ループ防止(skill_73 が &{ skill_73 } を呼び続けてしまうので、『sub skill_73 {』と『…if $v eq '73'…』の数字は同じにすること!)
$v = 8 if $v eq '73' || $v <= 0;
return &{ 'skill_'.$v };
}
職業の一番最下層だったすっぴんを検索にかけると、こうやって出てきます。
この下に、この文章をまずは追加しましょう。
sub skill_74 { # 猫
}
これでとりあえずはエラーが起きませんが、
これでは何もスキルは使えません。
では、導入して行きましょう。
まずは最も最初に覚える基本技能、猫の代名詞であるお昼寝。
[5, 0, 'ねる', sub{ $ms{$m}{state}='眠り'; $com.=qq|<span class="state">$mは眠りだした</span>|; &_heal($m, $ms{$m}{mhp}*0.5); }],
次に攻撃であるひっかき。
[15, 8, 'ひっかき', sub{ &_damage(shift, $ms{$m}{at}*1.2, '攻'); }],
更に素早さを上げるけいかい。
[35, 3, 'けいかい', sub{ &_st_up(shift, 0.4, '無', 'ag'); }],
相手をびびらせるいかく。
[55, 12, 'いかく', sub{ $is_add_effect = 1; my($y) = &_st_down(shift, 0.4, '歌', 'at'); return if !$y || $ms{$y}{hp} <= 0; &_st_d($y, '動封', '歌', 55); }],
さいごに切札級スキルとして、ねこまっしぐら。
[90, 20, 'ねこまっしぐら', sub{ my($y, $v) = &_damage(shift, $ms{$m}{ag} * 1.8, '攻'); return if $v <= 0; &_risk($v * 0.07); }],
以上でとりあえず猫スキルは出来上がりました。
さて、完成状態を見ると…
sub skill_74 { # 猫
[5, 0, 'ねる', sub{ $ms{$m}{state}='眠り'; $com.=qq|<span class="state">$mは眠りだした</span>|; &_heal($m, $ms{$m}{mhp}*0.5); }],
[15, 8, 'ひっかき', sub{ &_damage(shift, $ms{$m}{at}*1.2, '攻'); }],
[35, 3, 'けいかい', sub{ &_st_up(shift, 0.4, '無', 'ag'); }],
[55, 12, 'いかく', sub{ $is_add_effect = 1; my($y) = &_st_down(shift, 0.4, '歌', 'at'); return if !$y || $ms{$y}{hp} <= 0; &_st_d($y, '動封', '歌', 55); }],
[90, 20, 'ねこまっしぐら', sub{ my($y, $v) = &_damage(shift, $ms{$m}{ag} * 1.8, '攻'); return if $v <= 0; &_risk($v * 0.07); }],
}
以上の物をすっぴんの下に追加する事になります。
これで完成です。
なお今回追加したスキルと性能をまとめると、以下のようになります。
猫
転職条件:初めから転職可能
全成長率⇒任意の数値
使えるわざ
習得SP |
消費MP |
スキル名 |
対象 |
効果 |
5 |
0 |
ねる |
自分 |
「眠り」状態にして最大HPの半分を回復 |
15 |
8 |
ひっかき |
敵一体 |
中ダメージを与える |
35 |
3 |
けいかい |
自分 |
素早さを少し上昇させる |
55 |
12 |
いかく |
敵一体 |
攻撃力を少し下げる+中確率で「動封」付与 |
90 |
20 |
ねこまっしぐら |
敵一体/自分 |
素早さ依存の大ダメージ+与えたダメージの一部を反動で受ける |
最終更新:2009年09月10日 18:58