• 百分数値は0.01単位の数値です。記した数値に×0.01されます。
  • [slow_per][slow_time][rush_interval]
    この3つのデータでは0は「デフォルト値」と見なされ他の数値に変換されるので御注意ください。

移動タイプ movetypeで指定します。

movetype=省略、speed≠0 直進タイプ 敵に向かって直進します
movetype=省略、speed=0 静止タイプ 静止したまま
movetype=arc 円弧タイプ 円弧軌道で飛びます
movetype=throw 放物線タイプ 放物線軌道で飛びます
movetype=drop、speed=正の値 落下タイプ スキルが落下します
movetype=drop、speed=負の値 上昇タイプ スキルが上昇します
movetype=circle 回転タイプ 術者を中心に回転します
movetype=swing 振り回しタイプ 術者を中心に旋回します(剣を振る等)
throwの動きはspeedとheightで調整します。以下を御参考ください。
+ ...
skill b_arrow {
image = b_arrow2N
w = 20
h = 20
func = missile
movetype = throw
d360 = on
center = on
range = 600
speed = 1400  1フレームに14ドット進む
height = 66  放物線の高さが標的への距離×0.66になる
}
swingで剣を振るのを表現する時は以下を御参考ください。
+ ...
skill swing_sword {
image = sp_knifeN
w = 24
h = 48
func = missile
movetype = swing
d360 = on
center = end  剣画像の末尾が術者の中心に位置する
homing = on  剣画像が術者と共に移動する
start_degree = -90  剣の初期表示角度が目標角度-90度になる
start_degree_type = 6  ユニットが左向きでは-90度、右向きでは+90度になる(向きによる符号反転指定)
range = 120  120度旋回する
speed = 600  1フレームに6度進む
}

nextで発動されるスキルについての補足

nextで呼び出すスキルは自動的にfunc=missileと見なされます。
func=summonで召喚スキルに、func=healで能力低下スキルにつなげる事もできます。

属性についての補足

属性は「ユーザー属性」と「システム属性」があります。
ユーザー属性はattribute構造体で自由に設定出来ます。システム属性は固定です。
システム属性の一覧
poi=毒、para=麻痺、ill=幻覚、conf=混乱、sil=沈黙、stone=石化、fear=恐慌、
suck=吸血、magsuck=魔吸、drain=ドレイン、death=即死、wall=城壁

アイコン画像についての補足

必殺・リーダースキル・付与されたスキル・アイテムスキル・全体型スキルはそれぞれ自動的に
iconフォルダの@special.png・_leader.png・_add.png・_item.png・_all.pngで修飾されます。

ダメージ計算について

ダメージは発射側の攻撃値×(0.8~1.2)-被弾側の防御値×(0.8~1.2)で決められます。
発射側の攻撃値と被弾側の防御値の算出は後述のstrで決められます。

コンテンツ(外形)

mp = (数値)
消費MP。mp≠0で攻撃魔法となる。mp=0で遠距離攻撃になる。
負の値にするとmpが増えます。
image = (文字列)
画像設定。image2.datにあるイメージ名を指定する。
@@(半角)と記入した場合、スキル使用者のユニットチップ画像が参照される。
w = (横サイズ)
h = (縦サイズ)
a = (透明度)
範囲は(1~255)。1が透明、255が不透明。
alpha_tip = (0~100)
スキル画像の先端を半透明にします。aの透明度の百分率です。0で透明、100で不透明です。
alpha_butt = (0~100)
スキル画像の後端を半透明にします。
anime = (数値)
アニメーションのフレーム数。アニメスキルの画像は末尾に数値を付ける。
例:ファイアは、fire0.png, fire1.png, fire2.png として image=fire, anime=3 とする
anime_interval = (数値)
省略時は4。アニメーションの表示間隔。
center = (on/off/end)
省略時はoffです。スキルの発生座標を調整します。これはなるべくonにしてください。
on スキル画像の中心を術者の中心に合わせた位置で出現させる
off スキル画像の底辺を術者の底辺に合わせた位置で出現させる
end スキル画像の末端を術者の中心に合わせた位置で出現させる
静止型スキルでcenter=endとd360=onを併せて使う事で術者から伸びる槍を表現できます。
ground = (数値)
0 にするとユニットの下に表示されるようになります。
ただしこの場合はスキルイメージをimage.datの方に含める必要があります。

d360 = (on/off)
onにするとスキル画像が向きに従って360度回転するようになる。
image = arrow
d360 = on
とするとarrowが360度回転して表示される。
rotate = (数値)
d360=onとセットで使います。省略時は0です。0以外にすると1フレーム毎に数値の角度だけ画像が回転します。
d360_adj = (数値)
d360=onとセットで使います。省略時は0です。数値角度分スキル画像が回転します。炎の尻尾を前にできたりします。
direct = (on/roll/off)
rollにすると360度回転します(d360=onと同じです)
onにするとスキルの進行方向によって画像が変化する。d360より描画処理が軽いのが存在理由です。
image = arrow
direct = on
とすると上下左右にはarrowNを、斜めにはarrowNWを向きに応じて反転表示する。
末尾にNとNWが付加された画像を用意してください。

resize_w = (数値)
横サイズの変化ドット数。正の値で拡大、負の値で縮小。1.5のように小数点記述できます。
resize_h = (数値)
縦サイズの変化ドット数。正の値で拡大、負の値で縮小。1.5のように小数点記述できます。
resize_a = (数値)
透明度の変化数。正の値で不透明に、負の値で透明に。
resize_s = (数値)
速度の変化数。100で1ドット/フレーム。
resize_w, resize_h, resize_a, resize_sのいずれかを記述すると
resize_interval = 1の標準フレーム間隔でリサイズされます。
resize_interval = (数値)
数値フレーム間隔で各サイズが増減されます。
resize_start = (数値)
発射後、数値フレーム後にリサイズが始まる。それまではリサイズしません。
resize_reverse = (数値)
数値フレーム間隔で各リサイズ数値の正負符号が逆転します。
+ ...
resize_w_start = (数値)
横サイズのリサイズ開始フレーム
resize_w_max = (数値)
横サイズ変化の最大サイズ。これ以上大きくならない。
resize_w_min = (数値)
横サイズ変化の最小サイズ。
resize_h_start = (数値)
縦サイズのリサイズ開始フレーム
resize_h_max = (数値)
縦サイズ変化の最大サイズ。これ以上大きくならない。
resize_h_min = (数値)
縦サイズ変化の最小サイズ。
resize_a_start = (数値)
透明度のリサイズ開始フレーム
resize_a_max = (数値)
透明度変化の最大値。これ以上不透明にならない。
resize_a_min = (数値)
これ以上透明にならない。
resize_s_start = (数値)
速度のリサイズ開始フレーム
resize_s_max = (数値)
これ以上速くならない。100で1ドット/フレーム。
resize_s_min = (数値)
これ以上遅くならない。100で1ドット/フレーム。
resize関連の拡張データ

コンテンツ(基本特徴)

force_fire = (on/off)
offで「味方遮蔽」スキルとなります。
省略時は直進型と回転型で「味方遮蔽」になります。
「味方遮蔽」とは異なる部隊の味方ユニットが前方にいると発射不可となる事です。
slow_per = (百分数値)
省略時は75%。発射した時の移動速度変化率。
減速無しにする時はslow_per=100とします。
停止にする時はslow_per=-1としてください(0だと未指定扱いで75%と同義と見なされる)
slow_time = (数値)
省略時は1です。発射後に数値分の攻撃間隔だけ減速され続けます。
speed=60のユニットでslow_time=1とすると約二秒間減速状態が続きます。
減速時間無しにする時は-1とします(0だと未指定扱いで1と同義と見なされる)
slide = (数値)
発射ユニットが数値ドット分だけスライドする。
slide_speed = (百分数値)
省略時はcontext構造体のunit_missile_slide(デフォ値は400)になる。
スライドする毎フレーム速度を0.01ドット単位で指定する(slide_speed=100で1ターンに1ドット進む)
slide_delay = (数値)
スライド開始を数値フレームだけ遅らせます。
slide_stamp = (on/off)
slide_stamp = (数値)
onにするとスライドした位置に移動します。ただしそこにユニットがいて侵入不可なら戻っていきます。
数値指定だと数値ドット範囲内で空いてる場所を探します。
wait_time = (数値)
スキル発射を数値フレームだけ遅れせます
wait_time2 = (数値)
指定するとwait_time~wait_time2の範囲でランダムにスキル発射を遅らせる事ができます
shake = (on/off)
shake = (数値)
発射時に画面シェイクする。数値でフレーム数を指定できる。onの時は30フレーム(デフォルト)
ray = (α値, R値, G値, B値)
4つの色成分をそれぞれ(0~255)で指定する。プレイヤーユニット発射時に射線が表示される。
force_ray = (on/off)
onにすると全ユニットで射線が表示される。
flash = (数値)
省略時は0。1以上にするとダメージを与えた敵にヒットエフェクトが出る。数値が大きいほど大きなエフェクトが出る。
flash_image = (文字列)
flash_anime = (数値)
ヒットエフェクトの画像とアニメ数。省略時はimage、animeで代用される。
flash_animeをマイナス値にするとアニメせず指定画像が数値フレーム表示される。
collision = (文字列)
相殺時の発生スキルを指定する。省略すると通常のフラッシュになる。被相殺スキル側に記載する。
afterdeath = (文字列)
afterdeath = (文字列*数値)
ユニット殺害時に術者から殺害位置に向けて自動発生させるスキル(召喚ユニット死亡時は発生しません)
応用するとFTの死霊復活が実現できます。数値は以下の通りです。
0 普通ユニットのみ
1 召喚ユニットでも発動する
2 オブジェクトでも発動する
3 両方で発動
注:collisionとafterdeathで発生するスキルは強制的にfunc=missileと見なされrushも無視されます。
  召喚スキルやrushを用いたい時はnextでつなげてください。
afterhit = (文字列)
命中時に術者から命中相手位置に向けて自動発生させるスキルです。ただしダメージを与えないと発動しません。
また、afterhitはobjectに対しては発動しません。
yorozu = (文字列*数値, 文字列*数値, ‥)
様々な補足設定をする為のデータです。
movetype = circle の時
type*数値 数値:1で左回転に、2で右回転になる。未設定時は左右ランダム
radius*数値 数値は発射時の初期半径になる。未設定時は32ドット
movetype = throw の時
thm*数値 放物線の高さの最大ドット数。省略時は160ドットです

コンテンツ(攻撃特徴)

str = (文字列*百分数値)
数値は百分率の係数。50なら50%となる。0にするとゼロダメージとなるが状態異常は付加される。
未記入 ゼロダメージ。状態異常も付加されない。nextスキルは発生する
none 同上
attack 攻撃値はattack、防御値はdefense
magic 攻撃値はmagic、防御値はmagdef
attack_magic 攻撃値は(attack+magic)、防御値は(defense+magdef)÷2
attack_dext 攻撃値は(attack+dext)、防御値はdefense
magic_dext 攻撃値は(magic+dext)、防御値はmagdef
fix 数値そのままの固定ダメージになる。相手の防御力は無視される
ゼロダメージで状態異常だけのスキルではstr = attack*0としてください。
nextへつなぐだけのスキルでは未記入str = noneとしてください。
str_ratio = (0~200)
attack_magic/attack_dext/magic_dext で双方の比率を決めます。
str_ratio=0だと(attack×0+dext×2.0)となり、str_ratio=50だと(attack×0.5+dext×1.5)となり、str_ratio=150だと(attack×1.5+ dext×0.5)となり、str_ratio=200だと(attack×2.0+dext×0)となる。
attr = (文字列)
スキルの属性
add = (文字列)
状態異常の付加。以下の中から指定します。
poi=毒、para=麻痺、ill=幻覚、conf=混乱、sil=沈黙、stone=石化、fear=恐慌、suck=吸血、magsuck=魔吸、drain=ドレイン、death=即死
add2 = (文字列, 文字列, ‥)
状態異常のランダム付加。列挙された付加属性からランダムで決定される。
add_all = (on/off)
省略時はoff。onでadd2が全部付加となり、offでどれか一つがランダム付加となる。
add_per = (数値)
省略すると100%。addやadd2で指定した状態異常付加の発動確率(%)
damage = (数値)
直進型スキル
+1以上 敵にヒットする。スキル出現から数値ターン後にダメージ判定がある
0 敵にヒットする。
off 敵にヒットしない。標的位置まで射程が詰められる
pass 敵にヒットしない。最大射程まで直進する
静止型、落下型、上昇型のスキル
+1以上 敵にヒットする。スキル出現から数値ターン後にダメージ判定がある
0 敵にヒットする。
off 敵にヒットしない。標的位置に出現する
pass 敵にヒットしない。最大射程の位置に出現する
(注意)-2は off と同じです。-3は pass と同じです。-1は非推奨です。
damage_range_adjust = (数値)
ダメージ減衰距離。省略時は0となり0だと減衰しません。
設定するとヒット時の距離で与えるダメージが減ります。
(例)range=600、damage_range_adjust=200だと術者から200ドット以内ならダメージ率は100%、400ドットで50%、600ドットで1%となります。
attack_us = (数値)
0 敵に当たる(デフォルト)
1 味方に当たる
2 敵と味方に当たる
3 同上
4 敵と自分に当たる
5 味方と自分に当たる
6 敵味方自分全部に当たる
7 自分にのみ当たる

allfunc = (on/off)
「全体型」
射程範囲内の全ての敵に向けて飛ぶ。
onの場合attack_usは有効になりません
bom = (on/off)
「範囲攻撃」
homing = (文字列/数値)
「誘導」
on 敵を追尾する。静止型スキルでは術者を追尾する
origin 術者を追尾する
正の数値 1フレーム毎の最大角度修正を指定して敵を追尾する
負の数値 1フレーム毎の最大角度修正を指定して術者を追尾する
fix 術者とスキル登場位置の相対座標が保持される(静止スキルのみ有効)
hold ↑に加えて術者の向きに連動する(静止スキルのみ有効)
forward = (on/off)
「前進型」
これを指定すると敵に近づきます。
far = (on/off)
「近接時使用不可」
hard = (数値)
1以上にすると「貫通」となる。数値は当たり判定の発生間隔。
例:speed=800(1ターンに8ドット進む)でhard=4とすると32ドット進む度に敵への当たり判定をする
やたら小さな数値にするとゲームが重くなるので注意してください。
onehit = (on/off)
onで一度敵にヒットすると消滅します。
当たり判定が数フレーム毎に発生する「貫通」の静止型スキルで指定すると地雷を実現できます。
hard2 = (on/off)
hard2 = (1以上の数値)
「魔法貫通」にする。数値は相殺レベルの指定となる(onだとレベル1)
低いレベルの被相殺スキルを一方的に打ち消して貫通します。
offset = (文字列, 文字列, ‥)
offset = (on/off)
相殺できる属性と武器属性を列挙する。
onとすると相殺されるだけになります。
offset未指定だと相殺されません。全部を相殺可能スキルにするとその判定でゲームが重くなるのであえて選り分けてます。
offで相殺されません(継承クラスで元に戻す時に使う)
offset_attr = (文字列)
武器属性を指定します。武器属性はskill構造体の名前にします。
そのスキル名が武器属性名になります。
ナイフ等の無属性スキルをシールド等で相殺できるようにする為に設けました。
knock = (数値)
数値ドット分「弾く」ようになります。
負の値にすると逆方向に弾かれ「引き寄せ」になります。
knock_speed = (百分数値)
省略時はcontext構造体のunit_knock_speedになります。
400とすると1フレームに4ドットの速度ではじきます。
knock_power = (数値)
省略時は0です。
unit/class構造体のno_knock(ノックバック耐性力)と組み合わせて使います。
ノックバック時に「乱数(0~knock_power)>= no_knock」の判定が行われ、真ならノックバックされます。

コンテンツ(移動特徴)

range = (数値)
射程距離。
movetype=その他 射程距離
movetype=swing 旋回角度量になる。range=120とすると120度回転する
range_min = (数値)
0以外に指定するとこの距離以内なら発射しなくなります。
check = (数値)
発動距離。省略した場合はrangeと同じになる。
speed = (百分数値)
省略するとspeed=0となり静止型スキルとなります。movetypeによって意味が異なります。
直進型 1フレーム毎に進むドット速度。100で1ドット、50で0.5ドット進む
throw 同上
circle 同上
drop 同上
arc 角速度。100で1フレームに1度進む。
swing 同上
wave = (文字列/数値/文字列*数値, ‥)
波のように進みます。要素を列挙する事で様々な軌道になります。
数値は1フレーム毎の位相の変化量です。0.01度単位です。100で1度となります。
数値 波型運動する
on*数値 波の向きが一定になる。向きは数値の正負符号で決める
free*数値 位相反転が不規則になる。自由軌道を表現する
interval*(フレーム数) freeで有効。位相反転タイミングのフレーム間隔
hold*(0~100) freeで有効。タイミング時に位相反転しない確率%
fix*(フレーム数) 発射後蛇行せずに直進するフレーム数
max*数値 (min~max)乱数値が位相にプラスされる
min*数値 (min~max)乱数値が位相にプラスされる
rotate 画像が蛇行方向に合わせて回転します
free*数値の自由軌道については申し訳ありませんが
説明が難しいので拙作の該当スキルから適当に数値をいじってお試しください。
intervalとholdの数値を主にいじりhomingと併用すると上手い具合にうねうねぐるぐる動きます。
origin = (on/off)
onにすると着弾地点を強制的に術者の位置にします。主にrandom_spaceと共に使います。
random_space = (数値)
数値ドット半径内のランダム位置に着弾します。
random_space_min = (数値)
指定すると「random_space_min~random_space」のランダム位置に着弾します。
random_space_min以内には着弾しません。
例:random_space=100、random_space_min=50なら目標位置の半径50~100に着弾する。
time = (数値)
movetypeによって意味が異なります。
直進型 ヒットした後に消滅するまでのターン数
静止型 表示ターン数
arc 着弾後に消滅するまでのターン数
throw 同上
drop(落下) 落下後に消滅するまでのターン数
drop(上昇) 上昇するまでの表示ターン数
height = (数値)
movetypeによって意味が異なります。
arc 放物線を高くする。負の値にすると低くなる
throw 省略時は50。50にすると標的への直線距離の50%が高さ半径になる
drop 落下タイプでは落下開始点の高さ。上昇タイプでは上昇する高さ
circle 一周する毎に伸びる半径ドット数。400だと一周する度に4ドット半径が伸びる

rush = (数値)
連射数
rush_interval = (数値)
連射間隔。省略時は0。ここでは0は5と同義と見なされるので実質5です。
同時に発射させたい時はrush_interval = -1 としてください。
rush_degree = (数値)
発射する毎に数値の角度だけシフトする。術者を中心に扇状に発射される。
rush_random_degree = (数値)
指定角度範囲内でランダム方向に発射。
follow = (on/off)
follow = (数値)
rush時に有効です。先頭スキルを後続スキルが追尾するようになります。
数値はスキル同士が重ならないようにする為の処置です。数値ドット分だけ離れるようになります。

start_degree = (数値)
目的位置への発射角度を数値分ずらします。
start_random_degree = (数値)
目的位置への発射角度を数値範囲内でランダムにずらします。
(例)90とすると発射方向を軸に-45度~+45度の間でランダムになる。
start_degree_type = (数値)
0 start_degreeの±方向を五分五分のランダムにします(デフォルト)
1 +方向にずらします
2 -方向にずらします
3 rushスキルで発射ごとに±を交互にずらします
4 start_degreeの数値角度方向に発射します
5 +start_degree~-start_degree範囲のランダムで角度をずらします
6 ユニットが右向きだと符号が反転します。これはswingで用います
7 スキル発射方向をユニットの向きにします
このゲームでは真上が0度、左が90度、真下は180度、右は270度となってます。
start_degree_type = 4 で御注意ください。
start_degree_turnunit = (on/off)
スキル発射方向にユニットの向きを変えます。スキル発射方向にスライドできます。
start_degree_fix = (数値)
発射後に数値フレーム数だけ角度修正せずに直進します。
homing2 = (数値)
追尾時の最大修正角度です。start_degreeと共に用います。
start_degreeでずらした角度から標的に対して1フレーム毎に最大±(数値)の角度修正が行われます。
対象角度が一度整合するとそのまま直進します。
SFアニメに出る発射時に一度曲がるレーザーを表現します。
drop_degree = (数値)
drop_degree2 = (数値)
movetype = drop落下型スキルの落下角度を指定できます。
正負の数を指定できます。垂直方向の90度に加算されます。10とすると落下地点から見て100度の角度から落ちます。
drop_degree2を指定するとdrop_degree~drop_degree2の間でランダムになります。

コンテンツ(スキルの連鎖)

スキルを連鎖させる事で複雑な動きを表現する事が出来ます。
joint_skill = (on/off)
onにするとnextへのつなぎ用スキルとなります。
center=on、next_last=on、damage=-3(敵にヒットせず消滅後nextスキルが自動発射される)となります。
send_target = (on/off)
onにすると発射時の標的位置をnextスキルに渡します。
進行方向は渡さないのでnextスキルは標的方向に進みます。
send_image_degree = (on/off)
onにするとスキル画像の向き角度をnextスキルに渡します。

next = (文字列)
敵にヒット時に発生させる次のスキル。
next_last=on を記述すると敵にヒットしなくても消滅時に発生します。
next2 = (文字列, 文字列, ‥)
列挙したスキルをランダムで発生させるnext。
rush設定してnext_order=onにすると列挙した順に発射できます。
next3 = (文字列, 文字列, ‥)
列挙したスキルを同時に全部発生させます。rush設定は不要です。
next3は遠距離攻撃だけで使えます。
next4 = (文字列)
敵に当たらず自然消滅する時に発生するnextです。
これはnext_last = onにする必要があります。
next4は遠距離攻撃だけで使えます。
next_order = (on/off)
省略時はoff。onにするとnext2で列挙したスキルがランダムでなく左から順番に発射される(rush設定が必要)
next_last = (on/off)
省略時はoff。onにすると敵にヒットせず自然消滅した時もnextが発生するようになる。
この時、next4が設定されているとそちらが発動します。
next_first = (on/off)
省略時はoff。onにするとスキル発射と同時にnextスキルが発生する。
next_interval = (数値)
1以上にすると当スキルの存続中、数値ターン間隔でnextスキルが発生する。
やたら小さな数値にするとゲームが重くなるので注意してください。
just_next = (スキル, スキル, ‥)
発射と同時に発生する別スキル。複数指定できます。
術者が最初に発射するskillのみ有効です。
pair_next = (スキル)
発射と同時に発生する別スキル。スキル発射時のエフェクトとして使用する。
術者が最初に発射するskillのみ有効です。
pair_nextは簡易戦闘時に発生しないので実戦闘との整合性を取る為に必ず攻撃力の無いスキルを指定してください。

コンテンツ(アイテムウィンドウでの設定)

item_type = (0~6)
アイテムウィンドウでの入るタブを指定する。
アイテムのタイプにもなります。デフォルトでは同タイプのアイテムは一つしか装備できません。
装備されたスキルアイコンは、iconフォルダの「_item.png」で覆われます。
item_sort = (数値)
小さい数値ほどアイテムウィンドウの上に並ぶ。
item_nosell = (on/off)
onで売却できなくなる。
price = (数値)
値段。
friend = (文字列, 文字列, ‥)
装備可能者の設定。
ユニット名、クラス名、クラスのfkeyを列挙する。未設定なら全ユニット装備可能。


  • 弓矢とかを味方にも当たるようにすると現実世界の戦闘に近くなる
    しかしゲームとしては微妙になるな -- mititdoll (2023-08-18 01:41:50)
名前:
コメント:

.

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2023年08月18日 01:41