色々と差違点がある追加職スキル。少しずつ直していきます。
今回は一閃の挙動を本鯖仕様に修正してみましょう。
現Athenaでは射程1マス、瞬間移動なしですが、
本鯖では射程5マス、チャージアタックのように対象まで接近移動します。
既存の処理部分を借りるだけの変更点なので、今回は簡単な改造術です。
改造対象は
db/skill_db.txt
src/map/skill.c
の2ファイルです。
まずは射程1から5に変更します。
skill_db.txt、546行目あたりに一閃の部分があります。
544,1,6,1,0,0,10,1,yes,0,0,0,weapon,0 //NJ_ISSEN#一閃#
このskill_dbの見方はdoc/db_ref.txtに詳しく載っているので省略します。
左から2番目が射程距離なので、この1を5に変更します。
544,5,6,1,0,0,10,1,yes,0,0,0,weapon,0 //NJ_ISSEN#一閃#
射程距離を変えたら次は移動処理です。
一閃の移動は騎士スキルのチャージアタック、テコンスキルのティオアプチャギと全く一緒なので、ここはこの2つのスキルの移動処理の部分に一閃の処理を一緒にさせるようにします。
まずは既存の一閃処理を削除します。
skill.c、2196行目あたりの
case NJ_ISSEN:
battle_skill_attack(BF_WEAPON,src,src,bl,skillid,skilllv,tick,flag);
break;
の3行を削除します。ばっさり消しちゃいましょう。
次にチャージアタック等の処理部分、skill.cの2049行目あたり
case KN_CHARGEATK: //チャージアタック
case TK_JUMPKICK:
{
int dist = unit_distance(src->x,src->y,bl->x,bl->y);
if(sd) {
struct walkpath_data wpd;
int dx,dy;
に、一閃をお邪魔させてもらいます。
一閃のskill_numは「NJ_ISSEN」なので、
case KN_CHARGEATK: //チャージアタック
case TK_JUMPKICK:
case NJ_ISSEN:
{
int dist = unit_distance(src->x,src->y,bl->x,bl->y);
if(sd) {
struct walkpath_data wpd;
int dx,dy;
と「case NJ_ISSEN:」の行を追加してあげればOKです。
書き換えた後はメイクし直しを忘れずに。
これで一閃の瞬間移動処理がなされるはずです。
↓先日書いた詠唱・ディレイ設定も併せて編集すると、なお効果覿面です。
http://www.usamimi.info/~blaze/cgi-bin/diarypro/diary.cgi?no=257
一度お試しあれ。