ヴァーレントゥーガまとめwiki

unit 構造体(ユニットの設定)

はじめに

ユニットの設定は通常unit構造体で行いますが、非人材を設定するショートカットとしてclass構造体も直接指定出来ます。
同じ構造体名ではunit構造体の方が優先されます。

雇用可能範囲について

same_friend = off とすると自分と同じクラスを部下に出来なくなりますが、
same_call = on(省略時の標準) の状態なら同僚として雇用する事は可能です。ビーストテイマーでこれを用いてます。

所持スキル決定の手順

1、新規登場時、転職時はスキルリストをクリアする。
2、class構造体のskill、skill2に従ってスキルを付加する。
3、unit構造体のskillをスキルリストの末尾に、skill2を先頭に追加する。
4、delskillに列挙されてるスキルを削除する。unitとclass双方にdelskillがある場合はunit構造体の方が優先される。
5、learnに従ってスキルを追加する。
6、delskill2に列挙されてるスキルを削除する。

相性の決め方

相性はunit構造体のalign、又はrace構造体のalignのどちらか一方から算出されます。
相性を出す双方のunit構造体にalign値が設定されてるならそれで判定します。そうでないならrace構造体のalign値で判定します。
alignの数列範囲は(0~100)であり、0と100を連結したリング状になってます。
双方の差の絶対値を50で割り100を掛けたものが相性値となります。相性は0が最悪で100が最高です。
例:25と75は相性0、0と50は相性0、1と99は相性96、5と95は相性80、40と60は相性60
両ユニットにalignが設定されてないと計算されず全て最高の相性となります。
なお enemy に列挙されたユニットとの相性は強制的に最悪となります。
(双方のalignの差をxとする。x≦50ならば100-2xが相性値。x>50ならば2x-100が相性値)

コンテンツ

name = (文字列)
名前
talent = (on/off)
onで人材。人材でなければ戦闘中の台詞&顔グラは表示されない。
sex = (male/female/neuter)
性別。省略時はneuter
race = (文字列)
種族
class = (文字列)
クラス
radius = (数値)
ユニットの領域半径。省略時はサイズから自動算出される(横幅の75%となる)
w = (数値)
ユニットの横サイズ。省略時は32
h = (数値)
ユニットの縦サイズ。省略時は32
a = (数値)
ユニットの透明度(0~255)。省略時は255(不透明)
image = (文字列)
ユニット画像。image.dat内のイメージ名を指定する。
face = (ファイル名)
フェイス画像。faceフォルダ内の画像ファイル(拡張子込み)で指定する。
picture = (ファイル名)
立ち絵画像。pictureフォルダ内の画像ファイル(拡張子込み)で指定する。
bgm = (ファイル)
専用BGM。bgmフォルダのmidファイル(拡張子無し)を指定。mp3の時は拡張子込みで書く。
volume = (数値)
音量(1~100)

price = (数値)
雇用費。
cost = (数値)
ターン毎の維持費。勢力資金から減額されます。負の値にすると逆に増えて「財政力」となります。
hasexp = (数値)
自分を攻撃した敵の獲得経験値を決める基準値。これにレベルを掛けます。
medical = (数値)
基本治療費。これにレベルを掛けたものが治療費となる。
friend = (文字列, 文字列, ‥)
省略時は同種族・同クラスのみとなる。部下に出来る種族とクラスを列挙する。
merce = (文字列, 文字列, ‥)
このユニットから開いた雇用ウィンドウに追加されるユニットを列挙する。部下に出来るか否かの設定はfriendの方で行います。
same_friend = (on/off)
省略時はon。offにすると同種族同クラスの雇用が出来なくなる(friendで別途指定してれば可能)
same_call = (on/off)
省略時はon。offにすると samecall (自分と同系列の基底クラス雇用)が出来なくなる。
member = (文字列, 文字列*数値, ‥)
開始時の部下ユニット

level = (数値)
hp = (数値)
mp = (数値)
attack = (数値)
defense = (数値)
magic = (数値)
magdef = (数値)
speed = (数値)
dext = (数値)
move = (数値)
hprec = (数値)
mprec = (数値)
基本能力値
summon_max = (数値)
召喚可能数。省略時はcontext構造体の unit_summon_min になる。
summon_level = (百分率の数値)
50とすると召喚ユニットのレベルは術者の50%になる。省略時はcontext構造体の unit_summon_level になる。
heal_max = (百分率)
回復残量。一度の戦闘でヒールで回復できる限界HP量。
attack_max = (百分率)
defense_max = (百分率)
magic_max = (百分率)
magdef_max = (百分率)
speed_max = (百分率)
dext_max = (百分率)
move_max = (百分率)
hprec_max = (百分率)
mprec_max = (百分率)
能力UP魔法による限界値を元値との比率で設定します。150%とすると元値の1.5倍が限界値となります。
省略すると100%となり(元値と限界値が同じ)強化されません。

leader_skill = (文字列, 文字列, ‥)
リーダースキルの設定。
習得したスキルがリーダースキルになるだけなのでスキル習得は別途設定する必要があります。
leader_skill = (文字列*数値), (文字列*数値), ‥
数値(絶対値に換算します)レベル以上のメンバーにだけリーダースキルが付加される。
数値にマイナス符号を付けるとスキルリストの前方に挿入される。
skill = (文字列, 文字列, ‥)
スキルリストの末尾にスキルを追加する。
skill2 = (文字列, 文字列, ‥)
スキルリストの先頭にスキルを追加する。
注意:skill2はunit構造体とclass構造体で機能が異なります。
delskill = (文字列, 文字列, ‥)
スキルリストから削除する。learnで習得するスキルは削除対象外です。
learn = (数値, 文字列, ‥)
数値のレベルでスキルを習得。
数値にマイナス符号を付けるとスキルリストの前方に並ぶ。
learn = 数値1, 文字列1, 数値2, 文字列2)
数値1のレベルで文字列1のスキルを習得。数値2のレベルで文字列1のスキルが消えて、文字列2のスキルを習得。
learn = (数値1, 文字列1, 数値2, 文字列1, 文字列2)
文字列1のスキルを消さない場合は再度習得させる書式にする。
delskill2 = (文字列, 文字列, ‥)
learnで習得したスキルリストから削除するものを列挙する。

consti = (文字列*数値, 文字列*数値, ‥)
属性への耐性度の設定。
0 即死、1 激弱、2-3 弱い、4 微弱、5 普通、6 微強、7-8 強い、9 超強、10 無敵
movetype = (文字列, 文字列, ‥)
移動タイプ。
line = (front/back)
前衛、後衛の設定。省略時は先頭スキルに応じた位置になる。
satellite = (on/off)
onにするとリーダー、又は召喚した術者を追尾します。数値を指定するとその距離ドットまで近づきます。
beast_unit = (on/off)
onにするとビーストになる。プレイヤー操作を制限します。自分とリーダーの双方がビーストなら操作不能となる。
attack_range = (数値)
接近開始半径の設定。省略時はcontext構造体のunit_attack_rangeの数値になります。
escape_range = (数値)
後退開始半径の設定。省略時はcontext構造体のunit_escape_rangeの数値になります。
escape_run = (数値)
後退距離の設定。省略時はcontext構造体のunit_escape_runの数値になります。
hand_range = (数値)
剣攻撃が届く距離ドットです。省略時はcontext構造体のunit_hand_range(デフォ値は16)になります。
大きくするとより遠くの敵を剣攻撃できますが、移動時に敵に引っかかりやすくなります。
wake_range = (数値)
1以上を設定すると最初はスリープ状態で自分の半径(数値)ドット内に敵が来たら動き出すようになります。
cavalry_range = (数値)
1以上を設定すると騎兵動作をします(詳細は別途説明)

level_max = (数値)
ユニットの最大レベル値です。省略するとcontext構造体のunit_level_maxになります(デフォ値は100)
multi = (数値1, 文字列1, 数値2, 文字列2, 文字列3, ‥)
レベルアップ時の能力値の上昇率。基本能力値×(数値)%ずつ上昇する。
multi = 15, hp, 10, attack, defense, 5, magic, magdef
とすると、hpは初期値の15%、attackとdefenseは10%、magicとmagdefは5%上昇する。
exp = (数値)
exp_mul = (数値)
レベルUPの為の必要経験値の設定。
exp = 100, exp_mul = 120 の場合は、
[100], [100+(100×1.2)], [220+(220×1.2)], [484+(484×1.2)], [1064+(1064×1.2)], ‥
のように各レベルUPの必要経験値が増加していきます。
exp_max = (数値)
必要経験値の増加幅の限界設定。省略時は0。0だと無制限になる。
hpUp = (数値)
mpUp = (数値)
attackUp = (数値)
defenseUp = (数値)
magicUp = (数値)
magdefUp = (数値)
speedUp = (数値)
dextUp = (数値)
moveUp = (数値)
hprecUp = (数値)
mprecUp = (数値)
レベルアップ時の能力上昇値。 multi の指定より優先されます。
hpMax = (数値)
mpMax = (数値)
attackMax = (数値)
defenseMax = (数値)
magicMax = (数値)
magdefMax = (数値)
speedMax = (数値)
dextMax = (数値)
moveMax = (数値)
hprecMax = (数値)
mprecMax = (数値)
レベルアップ時の能力限界値。これ以上は増えません。

power_name = (文字列)
旗上げ時の勢力名
flag = (ファイル)
旗上げ時の旗のbmpファイル名(拡張子は省略)
yabo = (数値)
野望値(0~100)。高いほど独立しやすく領土拡大を目指すようになる。
kosen = (数値)
好戦値(0~100)。高いほど戦争を仕掛け易い。戦闘時の戦術が積極的になる。
brave = (数値)
勇猛値(0~100)。高いほど逃亡せず接近戦を挑みやすくなる。
staff = (文字列, 文字列, ‥)
省略時は同種族・同クラスのみ。旗上げ時にリーダーに出来る種族とクラスを列挙する。
align = (数値)
キャラ間の相性を設定する為の数値。
enemy = (文字列, 文字列, ‥)
宿敵と見なすユニットを列挙する。強制的に相性が最悪となる。
これは片方向指定なので被enemy側はこちらを敵とは見なしません。
loyal = (文字列)
主君。これが設定されてる放浪ユニットは主君が生存して別勢力にいる場合は雇用不可能となる。
自分の名前を指定した場合はマスター格ユニットとなり陪臣にならない。
loyal = (文字列*数値)
主君死亡時に数値%の確率で自決する。自分を指定すると自勢力滅亡時に自決する確率となる。

actor = (on/off)
onにすると強制的にアクターとなる。offにするとアクターにならない。省略時はシステムで決められる。
enable_select = (on/off)
省略時はon。offにすると人材プレイ選択不可となる。
enable = (数値)
省略時は0。放浪ユニットの登場ターン
enable_max = (数値)
放浪ユニットの登場ターンの最大値。指定するとenable~enable_maxの乱数で登場ターンが決まる。
mercenary = (on/off)
onにすると傭兵になる。現verではステータスウィンドウに「傭兵」と表示されるだけです。
fix = (on/off)
省略時はoff。onにすると放浪人材が移動しない。
home = (文字列, 文字列, ‥)
放浪の出現位置の領地。列挙された領地の中からランダムで決まる。
no_training = (on/off)
onにすると訓練されなくなる。

sortkey = (数値)
勢力選択時の人材リストに並ぶ順。少ないほど上になる。
help = (文章)
ユニットの概略説明。
join = (文章)
雇用したときの台詞。
dead = (文章)
倒されたときの台詞。
retreat = (文章)
逃亡する時の台詞。
scream = (ファイル)
やられた時の悲鳴。soundフォルダにあるwavファイル(拡張子無し)を指定する。
break = (スキル)
やられた時に表示されるエフェクト。指定したスキルが発生します。
爆発をユニット中央に合わせる為にスキルには center=on を記してください。スキルは強制的にfunc=missileと見なされます。

.