diff options
Diffstat (limited to 'doc/db_ref.txt')
-rw-r--r-- | doc/db_ref.txt | 533 |
1 files changed, 518 insertions, 15 deletions
diff --git a/doc/db_ref.txt b/doc/db_ref.txt index b4fd904b2..9e229bdb5 100644 --- a/doc/db_ref.txt +++ b/doc/db_ref.txt @@ -9,25 +9,34 @@ < dbのリスト > -cast_db.txt スキルのキャスティング時間とディレイ、維持時間等を設定。 -skill_db.txt スキルのデータを設定。 +cast_db.txt スキルのキャスティング時間とディレイ、維持時間等を設定。 +skill_db.txt スキルのデータを設定。 skill_require_db.txt スキル使用条件を設定。 -pet_db.txt ペットのデータを設定。 +skill_unit_db.txt スキルユニットに関する設定。 +pet_db.txt ペットのデータを設定。 +packet_db.txt map-server clif.cで使うパケット定義。 +item_db.txt アイテムのデータを設定 +item_db2.txt アイテムの追加情報を設定 +item_value_db.txt アイテム価格のオーバーライド +mob_db.txt モンスターのデータを設定 +mob_skill_db.txt モンスターの使用するスキルを設定 +homun_db.txt ホムンクルスのデータを設定。 ========================================================================== -1. db/cast_db.txt +1. db/skill_cast_db.txt -------------------------------------------------------------------------- -id,cast_list,delay_list,upkeep_time,upkeep_time2 +id,cast_list,fixed_cast_list,delay_list,upkeep_time,upkeep_time2 id: スキルのIDです。 cast_list: スキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。 +fixed_cast_list: DEX等の補正に影響されないスキルのキャスティング時間を設定します。レベル別に設定する場合は「:」を使います。(メモライズには影響を受けます) delay_list: スキルのディレイ時間を設定します。レベル別に設定する場合は「:」を使います。 upkeep_time:スキルの維持時間を設定します。レベル別に設定する場合は「:」を使います。 upkeep_time2:スキルによって起こる状態異常の維持時間を設定します。レベル別に設定する場合は「:」を使います。(ただ速度減少はupkeep_timeを使いますので注意してください。) -※武器の追加効果による状態異常はMG_STONECURSE(石化)、MG_FROSTDIVER(凍結)、NPC_STUNATTACK(スタン)、NPC_SLEEPATTACK(睡眠)、TF_POISON(毒)、NPC_CURSEATTACK(呪い)、NPC_SILENCEATTACK(沈黙)、NPC_BLINDATTACK(暗黒)のupkeep_time2を使います。(レベルは7で適用) +※武器の追加効果による状態異常はMG_STONECURSE(石化)、MG_FROSTDIVER(凍結)、NPC_STUNATTACK(スタン)、NPC_SLEEPATTACK(睡眠)、TF_POISON(毒)、NPC_CURSEATTACK(呪い)、NPC_SILENCEATTACK(沈黙)、NPC_BLINDATTACK(暗黒)、LK_HEADCRUSH(出血)のupkeep_time2を使います。(レベルは7で適用) ※急所攻撃の場合最大レベルは1ですがバッシュのレベルによって異常時間を変更できるので複数設定も可能です。 ※マキシマイズパワーとクローキングのupkeep_timeは維持時間ではなくSPが1減る時間です。 @@ -46,13 +55,13 @@ inf: スキル情報です。 複数の物を入れると(数値を足して)正しく動作しません。 pl: スキルの属性です。 0-無 1-水 2-地 3-火 4-風 5-毒 6-聖 7-暗 8-念 9-不死 -nk: 付加 1効果 2吹き飛ばし +nk: 付加 1効果 2吹き飛ばし 4発動時に射線チェック MaxLv: スキルの最大レベルです。 list_num: Hit回数のリストです。レベル別に設定する場合は「:」を使います。 castcancel: スキルがキャンセルされるかどうかを設定します。yesはキャンセルされる物でnoはキャンセルされない物です。 cast_defence_rate: キャスティング中に低下する防御力の比率です。ボウリングバッシュやクランドクロスのようにスキルキャスティング中に防御が減るスキルの設定に使います。 -inf2: スキル情報2です。1 - クェストスキル、2 - npc スキル、4-敵、8-場所、16-即時発動、32-味方、64-罠、128-PVPモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)、256-普通の使用で自分に必ずダメージが入るスキル(地面スキルのみ)、512-自分には使うことができないスキル、1024 - 自分か自分のパーティにしか使えないスキル。2048 - 自分か自分のギルドにしか使えないスキル、同盟ギルドチェックは無し。(4、8、16、32、64は一部のアクティブスキルが使用。今は阿修羅覇鳳拳のみ使用。) -maxcount: 地面スキルのみに適用される物でスキルを置ける最大数です。0は置けないと言う意味ではなく制限がない物と言う意味です。 +inf2: スキル情報2です。1 - クェストスキル、2 - npc スキル、4-敵、8-場所、16-即時発動、32-味方、64-罠、128-PVPモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)、256-普通の使用で自分に必ずダメージが入るスキル(地面スキルのみ)、512-自分には使うことができないスキル、1024 - 自分か自分のパーティにしか使えないスキル。2048 - 自分か自分のギルドにしか使えないスキル、同盟ギルドチェックは無し。(4、8、16、32、64は一部のアクティブスキルが使用。今は阿修羅覇鳳拳のみ使用。)、4096-GVGモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)、8192-PKモードで自分を含む全ての物にダメージが入るスキル(地面スキルのみ)(GVG+PK+PVP=12416 PVP+GVG=4224) +maxcount: 地面スキルのみに適用される物でスキルを置ける最大数です。レベル別に設定する場合は「:」を使います。0は置けないと言う意味ではなく制限がない物と言う意味です。 skill_type: スキルの種類を設定します。weaponは武器スキルでmagicは魔法スキル、miscは武器でも魔法でもないスキルです。noneは決め難しい物等に設定します。ただこれを変えたとしてもスキルのダメージ計算がこれに合わせて変わるわけではなくダメージの計算はプログラムレベルで行なっています。これはスペルブレイカーで詠唱中止されるかどうかを設定する為の物です。(他のスキルでこの設定を使用する可能性もありますが今の所スペルブレイカーのみです。) magicに設定するとスペルブレイカーで詠唱中止されます。 blow_count: スキルよるノックバック距離です。レベル別に設定する場合は「:」を使います。 @@ -66,19 +75,23 @@ id,list_hp,list_sp,list_hp_rate,list_sp_rate,list_zeny,list_weapon,state,spiritb id: スキルのIDです。 list_hp: スキル使用で減るHPの量です。レベル別に設定する場合は「:」を使います。 list_sp: スキル使用で減るSPの量です。レベル別に設定する場合は「:」を使います。 -list_hp_rate: スキル使用で減るHPの比率です。レベル別に設定する場合は「:」を使います。(最大HPの比率ではなく現在HPの比率です。) -list_sp_rate: スキル使用で減るSPの比率です。レベル別に設定する場合は「:」を使います。(最大SPの比率ではなく現在SPの比率です。) +list_hp_rate: スキル使用で減るHPの比率です。レベル別に設定する場合は「:」を使います。(正数の場合は現在HP、負数の場合は最大HPの比率です。) +list_sp_rate: スキル使用で減るSPの比率です。レベル別に設定する場合は「:」を使います。(正数の場合は現在SP、負数の場合は最大SPの比率です。) list_zeny: スキル使用で減るゼニの量です。レベル別に設定する場合は「:」を使います。 list_weapon: スキルを使うことができる武器を設定します。 99 - 全ての武器、0 - 素手、1 - 短剣、2 - 片手剣、3 - 両手剣、4 - 片手槍、 5 - 両手槍、6 - 片手斧、7 - 両手斧、8 - 片手鈍器、9 - 両手鈍器、10 - ロッド、 11 - 弓、12 - ナックル、13 - 楽器、14 - 鞭、15 - 本、16 - カタール、 - 17~22: 二刀流 + 17 - ハンドガン 18 - ライフル 19 - ショットガン 20 - ガトリンガン + 21 - グレネードランチャー 22 - 手裏剣 + 23~28: 二刀流 + 23 - 短剣+短剣 24 - 片手剣+片手剣 25 - 片手斧+片手斧 + 26 - 短剣+片手剣 27 - 短剣+片手斧 28 - 片手剣+片手斧 複数を設定する場合は「:」を使います。 state:スキルを使用する為の条件を設定します。複数の設定はできません。 none - 条件無し hiding - ハイディング状態 - cloacking - クローキング状態。 + cloaking - クローキング状態。 hidden: ハイディングやクロッキング状態 riding: ペコペコに乗っている falcon: 鷹を連れている @@ -113,10 +126,47 @@ amount10: 上同 ========================================================================== -4. db/pet_db.txt +4. db/skill_unit_db.txt -------------------------------------------------------------------------- - MobID,Name,JName,ItemID,EggID,AcceID,FoodID,Fullness,HungryDelay ,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script +ID,Unit1,Unit2,Layout,Range,Interval,Target,Flag + +ID : スキルID +Unit1 : スキルユニットの表示ID +Unit2 : 発動後に表示が変化する場合の表示ID +Layout : スキルユニットの設置範囲、レベル別に設定する場合は「:」を使うこと + -1 = 特殊形状(skill.cで定義) + 0 = 1x1 + 1 = 3x3 + 2 = 5x5 + 5 = 11x11 +Range : ユニット単体の発動範囲 + -1 = なし + 0 = 1x1 + 1 = 3x3 + 2 = 5x5 + 5 = 11x11 +Interval : 効果が発動する時間間隔(ms) +Target : 効果を及ぼす相手 + 0x00000 = BCT_NOENEMY 敵ではない + 0x10000 = BCT_PARTY パーティー + 0x20000 = BCT_ALL 全て + 0x40000 = BCT_ENEMY 敵 +Flag : スキルユニットの性質、加算すること + +0x001 = UF_DEFNOTENEMY defunit_not_enemyの影響を受ける + +0x002 = UF_NOREITERRATION 重ね置き不可 + +0x004 = UF_NOFOOTSET 足元置き不可 + +0x008 = UF_NOOVERLAP 効果が重複しない + +0x010 = UF_PATHCHECK オブジェクト発生時に射線チェック + +0x100 = UF_DANCE ダンススキル + +0x200 = UF_ENSEMBLE 合奏スキル + + +========================================================================== +5. db/pet_db.txt +-------------------------------------------------------------------------- + +MobID,Name,JName,ItemID,EggID,AcceID,FoodID,Fullness,HungryDelay ,R_Hungry,R_Full,Intimate,Die,Capture,Speed,S_Performance,talk_convert_class,attack_rate,defence_attack_rate,change_target_rate,pet_script MobID: モンスターIDです。 Name: 英語名前(ダミー) @@ -141,6 +191,459 @@ change_target_rate: 攻撃目標を変更する確率。(万分率) pet_script: ペットを持っている時適用されるステータスボーナスを設定。 +========================================================================== +6. db/packet_db.txt +-------------------------------------------------------------------------- +新規追加や変更されたパケット定義は一番下に追加していきます。 +日付の古いクライアントを使用する場合は、新しい日付の定義を削除かコメントアウトしてください。 +2004年9月時点のjROクライアントの場合は「//jROはここまで」以下を削除かコメントアウトしなければmap-serverに繋がりません。 + + Num,Len,Cmd,Pos + +Num: パケット番号です(16進数)。 +Len: パケット長です(10進数)。 +Cmd: map-serverがパケットを受信した時に実行するコマンドです(clif.cで定義) +Pos: clif.c内の関数で使用される変数に使う項目のパケット位置です。 + + +========================================================================== +7. db/item_db.txt 参考先 AthenaWiki +-------------------------------------------------------------------------- +ID,Name,Jname,Type,Price,Sell,Weight,ATK,DEF,Range,Slot,Job,Gender,Loc,wLV,eLV,View,Refine,{UseScript},{EquipScript} + + ITEM_ID = 使ってないitemIDを指定(連番でなくても問題ありません) + ※オリジナル武器を作る場合、攻撃モーションを既存の物にする為には + 決まったITEM_IDの範囲に入れなければ成らないようです。 + 片手剣 : 1100〜1149 + 両手剣 : 1150〜1199 + 短剣 : 1200〜1249 + カタール : 1250〜1299 + 片手斧 : 1300〜1349 + 両手斧 : 1350〜1399 + 片手槍 : 1400〜1449 + 両手槍 : 1450〜1499 + 鈍器 : 1500〜1549 + 本 : 1550〜1599 + 杖 : 1600〜1649 + 弓 : 1700〜1749 + 矢 : 1750〜1799 + ナックル : 1800〜1849 + 楽器 : 1900〜1949 + 鞭 : 1950〜1999 + ITEM_NAME = アイテム英語名(何でも構いません) + ITEM_JNAME = アイテム日本名(何でも構いません) + TYPE = アイテムの種類を設定 + 0 : 回復アイテム + 1 : 不明 + 2 : 消費アイテム + 3 : 収集品アイテム + 4 : 武器アイテム + 5 : 防具アイテム + 6 : カード + 7 : ペットの卵 + 8 : ペット専用装備品 + 9 : 不明 + 10 : 飛び道具(矢・弾丸・クナイ) + PRICE = 販売価格 + SELL = 売値 省略時は自動的にPRICEの半分の値が売値として設定されます + 0以上のときはSELLの値が売値となり、自動的にSELLの2倍の値が販売価格として設定されます + -1のときは売り不可なアイテムになります + (販売価格と売値を個別に設定したい場合はitem_value_db.txtで指定してください) + WEIGHT = 重量x10 (10ならば重量1になる) + ATK = 攻撃力 (装備品の場合設定しましょう) + DEF = 防御力 (装備品の場合設定しましょう) + RANGE = 射程 (装備品の場合設定しましょう) + SLOT = カードスロット数 (装備品の場合設定しましょう) + JOB = 使用可能職業 (装備品/消費系アイテムの場合設定しましょう) + 2を職業ID[0-29]で乗じた数字 + ノービス :1 + 剣士 :2 + マジシャン :4 + アーチャー :8 + アコライト :16 + 商人 :32 + 盗賊 :64 + 騎士 :128 + プリースト :256 + ウィザード :512 + ブラックスミス :1024 + ハンター :2048 + アサシン :4096 + クルセイダー :16384 + モンク :32768 + セージ :65536 + ローグ :131072 + アルケミスト :262144 + バード :524288 + ダンサー :1048576 + スーパーノービス :8388608 + テコン :16777216 + 拳聖 :33554432 + ソウルリンカー :134217728 + ガンスリンガー :268435456 + 忍者 :536870912 + 全職業装備可能 :195026943(1000333311) + ノービスを除く〜 :186638334 + 二次職 :2088832 + 二次職+拳聖 :35643264 + ※ノービスと剣士が装備できる物ならば + ノビ 2^0=1 剣士 2^1=2 1+2=3 で 3を設定します。 + ※16進数で表記することも可能です。全職業可能 : 0xffffffff + 転生職業の判断はitem_upper.txtで行うこと + GENDER = 性別限定装備指定 (2で指定無し、0と1で男性限定か女性限定か指定。) + LOC = 装備個所指定 (装備品/カードの場合設定しましょう) + 頭下段 :1 + 右手 :2 + 肩 :4 + アクセサリ右 :8 + 体 :16 + 左手 :32 + 足 :64 + アクセサリ左 :128 + 頭上段 :256 + 頭中段 :512 + 矢 :32768 + ※頭上中段装備の場合は + 頭上段(256)+頭中段(512)=768なので768を設定します。 + ※アクセサリは通常どちらにも装備可能になっているので + アクセサリ右(8)+アクセサリ左(128)=136なので136を設定しておきましょう。 + WLV = 武器レベル(1〜4) + ELV = 使用可能(装備可能)Lv + VIEW = 頭装備での装備した場合の見た目を設定 + 各装備品にて固有の番号を占有する。 + REFINE = 精錬可能かどうか。0で不可、1で可 + USESCRIPT = アイテム使用時に現れる効果(DOCフォルダ内にリファレンス有り) + EQUIPSCRIPT = 装備時に現れる効果(item_bonus.txt参照) + + +========================================================================== +8. db/item_db2.txt +-------------------------------------------------------------------------- +ID,Upper,Zone,Dropable,Storageable,Cartable,Dalay + +ID = アイテムID +Upper = 転生による使用・装備制限 + 0 : 制限無し + +1 : 転生前 + +2 : 転生後 + +4 : 養子 +Zone = 場所による使用・装備制限 + 0 : 制限無し + +1 : 通常フィールド (normal) + +2 : PVP (pv) + +4 : GVG (gvg) + +8 : PK (pk) + +16 : ターボトラック (turbo) + +32 : テレポ禁止区域 (noteleport) + +64 : リターン禁止区域 (noreturn) + +128 : 枝禁止区域 (nobranch) +Dropable = 捨てるのが可能かどうか + 0 : 可(デフォルト) 1 : 不可 +Storageable = 倉庫に入れるのが可能かどうか + 0 : 可(デフォルト) 1 : 不可 +Cartable = 倉庫からカートに出すのが可能かどうか + 0 : 可(デフォルト) 1 : 不可 +Delay = 使用後に指定した時間ディレイを付ける、単位はms + ただしどのアイテムも使えなくなるので注意 + + +========================================================================== +9. db/item_value_db.txt +-------------------------------------------------------------------------- +ID,Name,Jname,Price,Sell,DC_Notflag,OC_Notflag + +ID : アイテムID item_db.txtで設定されてないものは不可 +Name : 名前(英語) ただし読み込みには無関係なので好きな文字列で構わない +Jname : 名前(日本語) ただし読み込みには無関係なので好きな文字列で構わない +Price : 販売価格 省略時はitem_db.txtの値を反映 +Sell : 売値 省略時はitem_db.txtの値を反映 +DC_Notflag : DC可能かどうか 0で可、1で不可 +OC_Notflag : OC可能かどうか 0で可、1で不可 + + 例)売値が販売価格の9割でDC・OC不可 + 507,Red_Herb,赤ハーブ,30,27,1,1 + + +========================================================================== +10. db/mob_db.txt +-------------------------------------------------------------------------- +ID,Name,JName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,ADelay,aMotion,dMotion,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,Cardid,Cardper,MEXP,ExpPer,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per + +ID : Ragexe Sakexeで定義されたID +Name : 名前(英語) +Jname : 名前(日本語) +Lv : その設定中のモンスターのレベル 99にすればオーラを放つ +HP : モンスターのHP +SP : モンスターのSP +Range1 : 基本射程距離は1 +(設定値 = 1<16 : 射程距離。数値が大きくなれば長くなる。) +Atk1-Atk2 : ATK最低値-最高値 +(DEF-MDEF-STR-AGI-VIT-INT-DEX-LUK) : その名の通り。数値を大きくすればその数値になる +Range2 : Range2は対象指定スキルの範囲 +Range3 : Range3は地面指定スキルの範囲 +Scale : サイズ + 0 : 小 + 1 : 中 + 2 : 大 +Race : 種族 + 0 : 無 + 1 : 不死 + 2 : 動物 + 3 : 植物 + 4 : 昆虫 + 5 : 魚貝 + 6 : 悪魔 + 7 : 人間 + 8 : 天使 + 9 : 竜 +Element : 一の位は属性、十の位は属性のレベル +(例 : 闇属性レベル1なら、闇(7)+属性Lv1(20)=27) + 00 : 無 + 01 : 水 + 02 : 地 + 03 : 火 + 04 : 風 + 05 : 毒 + 06 : 聖 + 07 : 闇 + 08 : 念 + 09 : 不死 + 20 : 属性Lv1 + 40 : 属性Lv2 + 60 : 属性Lv3 + 80 : 属性Lv4 +Mode : 基本行動パターン。値を加算していく + (例 : 固定型アクティブモンスターなら、固定(0)+追跡(4)+攻撃(128)=132) + (例 : 移動型アクティブモンスターなら、移動(1)+追跡(4)+攻撃(128)=133) + (例 : ルートリンク型ノンアクティブモンスターなら、移動(1)+ルート(2)+リンク(8)+攻撃(128)=139) + 0 : 固定 + 1 : 移動 + 2 : ルート + 4 : 追跡 + 8 : リンク + 16 : 詠唱反応 + 32 : ボス属性というかスティル不可・ハイディング無効 + 64 : ダメージ1 + 128 : 攻撃(アクティブ) +Speed : 基本移動速度は150 + (1>150<2000 : 移動速度。数値が小さくなれば速く、大きくなれば遅くなる。) +ADelay : 基本攻撃速度は謎 + (1>??<3074? : 攻撃速度。Aspdの代わり?数値が小さくなれば速く、大きくなれば遅くなる。) +aMotion : 攻撃時のモーションスピードのディレイタイム +dMotion : dMotionは攻撃アニメーション終了時のディレイタイム +Drop1id,(id),Drop1per,(per)〜Drop8id,(id),Drop8per,(per) : 通常ドロップアイテムとその確率。1から9個まで設定可能 + (例:512,2 の場合はリンゴを0.02%の確率でドロップするということになる) +Cardid,(id),Cardper,(per) : ドロップするカードのIDと確立。1つだけ設定可能。 +MEXP : MVPを取ったとき入る経験値 +ExpPer : MVPを取ったとき経験値が入る確率 +MVP1id(id),MVP1per,(per)〜MVP3id(id),MVP3per,(per) : MVPドロップアイテムとその確率。3個まで設定可能 + + +========================================================================== +11. db/mob_skill_db.txt +-------------------------------------------------------------------------- +MOB_ID,ダミー文字列,STATE,SKILL_ID,SKILL_LV,万分率,casttime,delay,妨害可能,ターゲット,条件タイプ,条件値,値1,値2,値3,値4,値5,使用時エモーション + +MOB_ID : モンスターのID +ダミー文字列: わかりやすい名前を入れるといいかと。 + ただし "clear" を入れた場合、それまで読み込んだそのモンスターのスキルデータを破棄します + +STATE: スキルを使用する状態 + any = いつでも + idle = 待機中(自身が停止しているとき) + walk = 移動中 + attack = 攻撃中 + dead = 死亡時 + loot = ルート行動中 + chase = 追撃中 + command = 命令専用(他モンスターのcommandターゲットからのみ発動することを明示する) + +SKILL_ID : スキルID +SKILL_LV : スキルレベル +万分率 : スキルが発動する確率、ただし判定は上に記載されたスキルから順に評価されるため + 下にあるほど正味の発動確率は低下します + +casttime : 詠唱時間(ms) +delay : スキル使用後のディレイ時間(ms)、ただしディレイ中に使えないのは同じスキルだけです(他のスキルは使用可能) +妨害可能 : 詠唱妨害できるかどうか、yesかno + +ターゲット: スキルを使用する対象 + target = 攻撃中のターゲット + self = 自分 + friend = 周囲8セル以内に居る仲間いずれか1匹 + 条件タイプにfriend系を選択して条件が一致した場合はその仲間が対象 + around = 自分の周囲(現在は周囲81マス=around4) + around1 = 自分の周囲9マス + around2 = 自分の周囲25マス + around3 = 自分の周囲49マス + around4 = 自分の周囲81マス + around5 = ターゲットの周囲9マス + around6 = ターゲットの周囲25マス + around7 = ターゲットの周囲49マス + around8 = ターゲットの周囲81マス + master = マスター + slave = 周囲8セル以内に居る取り巻きいずれか1匹 + command = 他モンスターにスキルを発動させる(特殊AIの項参照) + modechange = 他モンスターのモードを変化させる(特殊AIの項参照) + targetchange = 他モンスターのターゲットを変更させる(効果未実装、ディレイだけ付加される) + anothertarget = 現在のターゲットとは異なる敵 + 使用するスキルの射程範囲内に存在する敵の中からランダムに攻撃対象を選択する + 他のターゲットが見つからない場合は現在のターゲットが対象 + + ※around系が正常に機能するのは場所指定スキルのみ。 + +条件: (条件タイプ) (条件値は指定する値) + [常時型 : AIからの呼び出し] + always 無条件 + myhpltmaxrate 自分のHPが指定%未満になったら + mystatuson 自分がステータス異常(条件値)に掛かっていたら + mystatusoff 自分がステータス異常(条件値)に掛かっていなかったら + friendhpltmaxrate 仲間のHPが指定%未満になったら、範囲は周囲8セル固定 + friendstatuson 仲間がステータス異常(条件値)に掛かっていたら、範囲は周囲8セル固定 + friendstatusoff 仲間がステータス異常(条件値)に掛かっていなかったら、範囲は周囲8セル固定 + attackpcgt 攻撃PCが指定数を超えたら + attackpcge 攻撃PCが指定数以上になったら + slavelt 総手下数が指定数未満になったら + slavele 総手下数が指定数以下になったら + targethpgtmaxrate 攻撃対象のHPが指定%を超えていたら + targethpltmaxrate 攻撃対象のHPが指定%未満になったら + targetstatuson 攻撃対象がステータス異常(条件値)に掛かっていたら + targetstatusoff 攻撃対象がステータス異常(条件値)に掛かっていなかったら + targethpgt 攻撃対象のHPが指定を超えていたら + targethplt 攻撃対象のHPが指定未満になったら + masterhpgtmaxrate マスターのHPが指定%を超えていたら + masterhpltmaxrate マスターのHPが指定%未満になったら + masterstatuson マスターがステータス異常(条件値)に掛かっていたら + masterstatusoff マスターがステータス異常(条件値)に掛かっていなかったら + areaslavegt 周囲の手下数が指定数を超えていたら、条件値の下位8bitに数を、上位8bitに範囲を入れること + areaslavele 周囲の手下数が指定数以下になったら、条件値の下位8bitに数を、上位8bitに範囲を入れること + [反撃型 : 被攻撃時に呼び出し] + casttargeted 詠唱のターゲットにされたら + closedattacked 近接攻撃を喰らったら + longrangeattacked 遠距離攻撃を喰らったら + skillused 指定スキルを喰らったら + rudeattacked 反撃不可能な状態で攻撃を喰らったら + [特殊型 : その他] + onspawn 出現配置されたら + +条件値: 各条件に必要な値(HPや数など)、特に指定がない場合は0を入れる + 16進数でも表記可能なのでareaslavegt, areaslaveleで活用してください + + ※statuson/statusoff系で条件値に指定することが出来る文字列 + anybad 以下の9つの状態異常のうちどれか + stone 石化 ←anybad該当ここから + freeze 凍結 + stan スタン + sleep 睡眠 + poison 毒 + curse 呪い + silence 沈黙 + confusion 混乱 + blind 暗闇 ←anybad該当ここまで + hiding ハイディング使用中 + sight サイト使用中 + stone 完全石化状態 + lexaeterna LA状態 + +値1〜5: 必要に応じて値を入れる + 入力すべき値は使用するスキルや条件タイプによって異なります(mob.cやskill.c、特殊AIの項を参照のこと) + + 例1)2%の確率でエモーション番号5を使用する + 1009,エモーション@コンドル,idle,197,1,200,0,5000,no,self,always,0,5,,,,, + 例2)取り巻きが居なくなったら10%の確率でID 1179/1208/1509のモンスターを召還する + 1373,取り巻き召喚@ロードオブデス,any,196,2,1000,2000,3600000,no,self,slavele,0,1179,1208,1509,,, + 例3)20%の確率でID 1049か1050のいずれかにクラスチェンジする + 1047,メタモルフォース@ペコペコの卵,idle,193,1,10,2000,0,no,self,always,0,1049,1050,,,, + 例4)周囲5セル以内の取り巻きが3匹以下なら10%の確率で呼び戻す + 1038,取り巻き呼び戻し@オシリス,attack,354,1,10000,0,30000,no,target,areaslavele,0x503,,,,,, + 例5)遠距離攻撃されたら仲間の足元にサンクチュアリを展開する + 1194,サンクチュアリ@アクラウス,attack,70,10,2000,0,5000,no,friend,longrangeattacked,0,,,,,, + +使用時エモーション: スキル使用時に出すエモーション番号 + +※特殊AI + ・command: 命令対象のモンスターに対してSKILL_IDのスキルを使用させる + 命令対象がそのスキルを持っていない場合は発動しない + 従ってcommandでのみ発動したいスキルがある場合は、STATEにcommandを指定した発動率0%のスキルを作ること + + 値1 -> 命令対象 + 値2 -> 命令対象検索範囲 + 値3 -> スキル対象 + 値4 -> スキル対象検索範囲 + 値5 -> 未使用 + + 命令対象に使える文字列 + self = 自分 + slave = 指定命令範囲内の取り巻きのいずれか1匹 + slaves = 指定命令範囲内の取り巻き全て + friend = 指定命令範囲内の仲間のいずれか1匹(取り巻きは含まない) + friends = 指定命令範囲内の仲間全て(取り巻きは含まない) + group = 自分と指定命令範囲内の取り巻き全て(self+slaves) + + スキル対象に使える文字列 + target = 命令相手が攻撃中の場合はそのターゲットに、待機状態なら命令主と同じターゲットにスキル攻撃 + 命令主すらターゲットを持たない場合は指定スキル範囲内に存在するいずれかの敵にスキル攻撃 + self = 自分 + commander = 命令主 + master = マスター + slave = 指定スキル範囲内の取り巻きのいずれか1匹 + slaves = 指定スキル範囲内の取り巻き全て + friend = 指定スキル範囲内の仲間のいずれか1匹(取り巻きは含まない) + friends = 指定スキル範囲内の仲間全て(取り巻きは含まない) + + 例1)HP30%を切ったら8%の確率で自分と周囲7セル以内の取り巻き(ナイトメア)が爆裂状態になる + 1046,爆裂波動@ドッペルゲンガー,attack,270,5,800,0,100000,no,command,myhpltmaxrate,30,group,7,self,0,, + 1061,爆裂波動@ナイトメア,command,270,5,0,0,100000,no,self,always,0,,,,,, + 例2)10%の確率で周囲7セル以内の取り巻き(ナイトメア)全てにソウルストライクの一斉攻撃を命令 + 1046,ソウルストライク命令@ドッペルゲンガー,attack,13,10,1000,0,10000,no,command,always,0,slaves,7,target,7,, + 1061,ソウルストライク@ナイトメア,command,13,10,0,0,10000,no,target,always,0,,,,,, + + ・modechange: 命令対象のモンスターのmode(基本行動パターン)を変化させる + SKILL_IDは未使用なので0を指定すればよい + + 値1 -> 命令対象 + 値2 -> 命令対象検索範囲 + 値3 -> 変化後のmode + 値4 -> 未使用 + 値5 -> 未使用 + + 命令対象に使える文字列 + self = 自分 + slave = 指定範囲内の取り巻きいずれか1匹 + slaves = 指定範囲内の取り巻き全て + friend = 指定範囲内の仲間いずれか1匹(取り巻きは含まない) + friends = 指定範囲内の仲間全て(取り巻きは含まない) + group = 自分と指定範囲内の取り巻き全て(self+slaves) + + 例)5%の確率でmode149(アクティブ+詠唱反応+追跡+移動)にチェンジ + 5%の確率でmode151(上記+ルート)にチェンジ + 1131,モードチェンジ@ジョーカー,idle,0,0,500,0,30000,no,modechange,always,0,self,0,149,,, + 1131,モードチェンジ(ルート)@ジョーカー,idle,0,0,500,0,30000,no,modechange,always,0,self,0,151,,, + +========================================================================== +12. db/homun_db.txt +-------------------------------------------------------------------------- +Class,Name,JName,AcceID,FoodID,HP,SP,Str,Agi,Vit,Int,Dex,Luk,[Rate->]Base,HP_max,HP_min,SP_max,SP_min,Str,Agi,Vit,Int,Dex,Luk,aspd,{homun_script} + +Class : Ragexe Sakexeで定義されたID +Name : 名前(英語) +Jname : 名前(日本語) +AcceID : ホムンクルスが装備することができるアクセサリのアイテムID +FoodID : ホムンクルスのエサとなるアイテムのID +HP : 作成直後のMHPの値 +SP : 作成直後のMSPの値 +Str,Agi,Vit,Int,Dex,Luk : 作成直後のステータスの値 + +[Rate->] : ここから上昇ステータスに関する値の設定。(区切り) +Base : レベルが1上がった時に、上昇するステータスの最大値 +HP_max : レベルが1上がった時に、上昇するHPの最大値 +HP_min : レベルが1上がった時に、上昇するHPの最低値 +SP_max : レベルが1上がった時に、上昇するSPの最大値 +SP_min : レベルが1上がった時に、上昇するSPの最低値 +Str,Agi,Vit,Int,Dex,Luk : レベルが1上がった時に、上昇する確率を百分率で表した数値 + +Aspd : 固有Aspd係数 +homun_script: ホムンクルスを持っている時適用されるステータスボーナスを設定(未実装) ========================================================================== EOF |