記事一覧

Auriga-0945:傭兵パッチ

・傭兵データ構造の見直し(common/mmo.h, map.h, merc.*, clif.c, status.c, skill.c)
-> BaseLvや各種ステータス、スキル情報などはsaveデータに保存しない様に変更。

・傭兵をSQLモードに対応 (char/sql/mercdb_sql.c, sql-files/main.sql, sql-files/Auriga945_changetable.sql)
-> 既存のプレイヤーが持つ傭兵雇用情報は「mercenary」から「mercenary_employ」にテーブル名を変更
-> 傭兵自身のデータを「mercenary」テーブルに保存するように。

・モンスター傭兵実装(common/mmo.h, merc.*, db/merc_db.txt, merc_skill_tree.txt)
-> 傭兵IDを定められたID(6017~6046)しか登録できなかったのを任意のIDで登録できるように変更。

・傭兵DBの構造を変更(merc.*, db/merc_db.txt, db/addon/merc_db_add.txt, doc/db_ref.txt)
-> 傭兵のクラスIDを任意に定義できる様にした為、ViewClassを廃止
-> 傭兵の種類は内部で処理させるようにした為、ClassTypeを廃止

・傭兵のキルカウントボーナス実装(merc.c, status.*, db/scdata_db.txt)

・傭兵専用スキル「キリエエレイソン」「ブレッシング」「速度増加」を追加(skill.*, db/skill_db.txt, db/skill_db2.txt, db/skill_cast_db.txt, db/skill_require_db.txt)

・傭兵の自然回復が短かったのを修正(merc.h)
-> HPの自然回復:2000ms → 8000ms、SPの自然回復:4000ms → 6000ms

・傭兵に処理させるスクリプトを追加(script.c, doc/script_ref.txt)
-> mercheal命令:連れている傭兵のHP/SPを回復させます。
-> mercsc_start命令:連れている傭兵を状態変化させます。

・傭兵関係のアイテム実装(db/item_db.txt)
=================================
↑「傭兵」を多く使いすぎて、くどくなってしまった(笑)

要するに「傭兵いろいろ実装しました」パッチです。
中でもメインはSQL対応とモンスター傭兵対応でしょうか。

思えば前回の傭兵改正パッチから3年半経ちましたが、ようやくSQLに対応することができました。
当時はデータ見直しとか色々苦悶していたのを覚えていますが、
あれから成長したのか、意外とすんなり実装することができました。

モンスター傭兵はその名の通り、見た目モンスターの傭兵を連れていくことができます。
DBに1行追加するだけで簡単に実装できますので、オリジナルモンスター傭兵などを実装してみてはいかがでしょうか。
※デフォルトで傭兵DBの登録最大数を「50」にしていますので、もっと多く追加されたい方は
 「src/common/mmo.h」の「MAX_MERC_DB」の値を増やしてご利用ください。

コメント一覧

通りすがる (04/24 23:02) 編集・削除

更新お疲れ様です!

遂にSQLにも傭兵が対応ですね!
ずっと楽しみにしていたので嬉しいです。
Blazeさん、乙であります!

XiaさんもNPC調査などなどお疲れ様です!

お二人には感謝しても感謝しきれませぬ。
これからも楽しみにしております。

Blaze (04/25 12:35) 編集・削除

ありがとうございます!
そう言って頂けると実装したかいがあったと、開発のモチベーションも上がります。

Xiaも喜ぶと思いますので、こちらから伝えておきます。