Overview
Reassembly Docsページの一部の内容を日本語に翻訳したガイドです。block.luaなどに使われるデータの解説を置いています。
はじめに
こちらはReassembly Docsページの”Appendix”の内容を独自に翻訳、解説したものです。
一部未翻訳、未解析のものもあります。
解釈を間違えていることもありますのでその際はコメントしてくださると幸いです。
・データ型の定義
特に値を指定をしなければ、一部を除いてデフォルトで0です。
int型
整数を使います。(…-1,0,1…)
例:grope=21,points=-2
uint型
符号なしの整数を使います。(0,1,2…)
例:scale=4
float型
浮動小数点の数値を使います。(0.00001,0.1,1.0)小数点は無くても大丈夫です。(1=1.0)
例:thrusterForce=10.5
float2,int2型
{x,y}というように、二つの値を型に合わせて指定します。指定された値が一つだった場合は{x,x}という扱いになります。
例:radius={1.50, 3.00}
List
複数の文字列、データをリスト状に記述するデータ型です。{element0, element1…}
例:fortress = {“21_bigship1″,”21_fortress1”},
Pair<T,U>
“T”と”U”の二つの項目を指定します。{itemT, itemU}
例:(#に囲まれた文字列がPair型)fleetsであれば、ファクション識別子と艦隊の生成法則に当たる。
fleets={ #{21,{ {0, 1000}, {1, 1000} } }#, #{22,{ {0,1000}, {1,1000} } }# }
struct
“struct型データ{データ0=値0,データ1=値1…}”というように括弧を入れて、そのデータの一つ下の階層を作ります。
例:cannon={spread=0.02,power=10,damage=50…}
enum
値0|値1|値2… というように指定します。
例:features=COMMAND|GENERATOR|ASSEMBLER|TRACTOR
見方
データ型 データ名 { データ型 データ名 = デフォルト値; //解説 }
struct Block
struct Block { uint ident; //識別子。 int group; //ファクションの識別子。 float2 offset; float angle; //ブロックの位置を決める。offsetは位置、angleは角度。 uint scale = 1; //ブロックの大きさを決める。この値だけ違うブロックデータをいくつか作成すると、ctrl+マウスホイールでのサイズ変更に対応される。 Shape shape; //ブロックの形状。入れることのできる値の一覧は”enum Shape”から string name; string blurb; //nameはブロックの名前、blurbはブロックの説明を指定する。 float durability = 1.000; float density = 0.100; //durabilityは耐久性、densityは密度。この二つにより、ブロックの体力や質量(重さ)が計算される。 int points; //ブロック使用で消費するP(ポイント)。 float lifetime = -1.000; //ブロックの生存時間、自動的に値が低下する。liftimeが0に達すると消滅処理へ移行する。-1で値は変動しない。 float growRate = 3.300; //生成時のgrowFracの増加速度を指定する。 float growFrac = 1.000; //ブロックの生成状況。変更不可能。1を完全体として、完成状況で0~1の値が当てられる。 float health = 100.000; //ブロックの体力。内部的に変更は可能らしいが、体力の自動計算の結果が常時更新によって上書きされる。 float armor; //防御値。受けたダメージを軽減する。 float meleeDamage = 5.000; //接触時に対象に与えるダメージ。 float turretSpeed = 6.000; //タレットの回転速度。 float generatorCapacityPerSec; //エネルギーの秒間生成速度。 FeatureEnum features; //特徴付与。入れることのできる値の一覧は”enum FeatureEnum”から FeatureEnum growFeatures; //詳細不明。 Command command; Cannon cannon; CannonBoost cannonBoost; Laser laser; Shield shield; //struct型データ。詳細はそれぞれのEnumから x float explodeDamage = 51.000; float explodeRadius = 30.000; int explodeFaction; //爆発のステータス。featuresにEXPLOEDがついたブロックに反映される。Damageは威力、Radiusは範囲。 uint fillColor = 0x2d0833; uint fillColor1; uint lineColor = 0xffffff; uint thrusterColor = 0xece1c6; uint thrusterColor1; //カラー。fillColor、fillColor1はブロックの色。lineColorはブロックの縁の色。thrusterColor、thrusterColor1はスラスター出力のエフェクトの色を指定する。数字無しと1の色を行き来する。 float capacity; float powerCapacity; //capacityはリソースの容量、powerCapacityはエネルギーの容量を指定する。 float tractorRange = 400.000; //トラクターのリソース回収範囲を指定する。 float thrusterForce = 10000.000; float thrusterBoost = 2.000; float thrusterBoostTime = 0.200; //スラスターのステータス。featuresにTHRUSTERがついたブロックに反映される。thrusterForceはスラスターの火力、thrusterBoostはスラスター稼働時に発生する火力ブースト、thrusterBoostTimeはブーストの効果時間。 float torquerTorque = 10000.000; //トルク、回転力。featuresにTORQUERがついたブロックに反映される。ブロックに旋回能力を与える。 Block replicateBlock; float replicateTime = 1.000; FeatureEnum launchFeatures; float launchSpeed = 100.000; float launchCapacity; float launchLifetime = -1.000; float launchResources; float launcherPower; float launcherSpeed; float launcherOutSpeed; float launcherAngVel; //ランチ、ランチャーのステータス。featuresにLAUNCHERがついたブロックに反映される。replicateBlockで生成するブロックを設定する。replicateTimeは生成時間を指定する。 //記述例
replicateBlock{ features=COMMAND|LASER|TURRET, name=”レーザータレット”, shape=TRI, command{ … }, laser{ … } }
//LAUNCHERの付いたブロックから生成させるにはLAUNCHERに対応しているブロック形状を選ぶ必要がある。弾頭は自由でOK。 //launcherPowerはブロック生成時に消費するエネルギーを指定する。launcherSpeed、launcherOutSpeedは生成したブロックの発射速度を指定する。launcherOutSpeedは射出後の速度?launcherAngVelは発射する向きを指定する。 //launchFeatures、launchSpeed、launchCapacity、launchLifetime、launchResourcesは詳細不明。 float chargeMaxTime = 1.000; float chargeMin = 0.100; //チャージ兵器のステータス。featuresにCHARGINGがついたブロックに反映される。chargeMaxTimeは最大までチャージする時間、chargeMinは1を100%としてどの程度まで溜めれば発射できるかを指定する。 float photosynthPerSec = 1.000; //光合成によるリソース秒間生成速度。植物に使われている。 float seedLifetime = 60.000; //植物の種の時間に関係すると考えられる。詳細不明。 float teleporterPower = 4.000; //ファイルファクションといったテレポート能力に関係すると考えられる。詳細不明。 uint persistentIdent; uint bindingId; //詳細不明。 };
struct Command
struct Command { EnumCommandFlags flags; uint ident; uint parentIdent; int faction; //識別子。 float resources; float resourceCapacity; //リソースのステータス。resourceCapacityは容量。 int energy; //エネルギーを指定する。 float sensorRadius = 2200.000; //敵シップの検知範囲。距離が値を下回ったら攻撃を仕掛ける。 BlockCluster blueprint; //生成されるシップの種類が指定される。コマンドが記憶している設計図、ブループリント。 List<BlockCluster> children; //ファクトリーで生成する子機の一覧。 float2 destination; float disruptTime = 1.000; uint objective; BlockCluster nextprint; int currentChild = -1; //詳細不明。 };
struct Laser
struct Laser { float pulsesPerSec; uint pulsesPerBurst = 1; //pulsesPerSecは1秒に何発撃てるかを指定する。pulsesPerBurstは1回の射撃に同時で何発撃つかを指定する。同時に発射した弾はpulsesPerSecに一つずつカウントされるため注意。 EnumExplosive explosive; //爆発の特性を指定する。入れることのできる値の一覧は”EnumExplosive”から。 float burstyness; //バースト性。pulsesPerBurstにおける同時発射のタイミングをずらす。0~1で指定? float pulseAvailability; //レーザーの照射継続量。0~1の間の数字で割合で指定する。 float decay = 0.350; //レーザーの照射を止めた際の余韻。 float power; //エネルギー消費量。恐らく自動計算による値が常時上書きされている。 float width; //レーザーの幅の広さ。 float damage; //威力。 uint color = 0xffffff; //カラー。本来のRRGGBBの他に透明度のパラメーター、AARRGGBBの指定が可能(0xffffffff)。恐らくデフォルトでは透明。 float range; //攻撃の飛距離。 float explodeRadius; //爆発範囲。 };
struct Cannon
struct Cannon { float roundsPerSec; uint roundsPerBurst = 1; //roundsPerSecは1秒に何発撃てるかを指定する。roundsPerBurstは1回の射撃に同時で何発撃つかを指定する。同時に発射した弾はroundsPerSecに一つずつカウントされるため注意。ブロックのサイズによって連装の上限が変わる。 EnumExplosive explosive; //爆発の特性。 float burstyness; //バースト性。roundsPerBurstにおける同時発射のタイミングをずらす。0~1で指定? float muzzleVel; //弾速。 float spread; //射撃のブレ。1.80で180度近く。 float power; //エネルギー消費量。恐らく自動計算による値が常時上書きされている。 float damage; //威力。 uint color = 0xffffff; //カラー。 float range; //攻撃の飛距離。 float explodeRadius; //爆発範囲。 };
struct CannonBoost
struct CannonBoost { float2 roundsPerSec = {1.000, 0.000}; float2 muzzleVel = {1.000, 0.000}; float2 power = {1.000, 0.000}; float2 damage = {1.000, 0.000}; float2 range = {1.000, 0.000}; float2 explodeRadius = {1.000, 0.000}; //ステータスを強化する量を指定する。一つ目のfloatは乗算、二つ目のfloatは加算。 };
struct Shield
struct Shield { float strength = 100.000; //シールドの体力。 float armor; //防御値。受けたダメージを軽減する。 float regen = 20.000; //シールドの回復速度。 float delay = 3.000; //シールドが破られて復活するまでの時間。 float radius = 40.000; //シールドの範囲。 uint color; uint lineColor; uint damagedColor; //カラー。 };
struct GalaxyRegion
struct GalaxyRegion { //regions.luaで使用する。 int ident; int faction; //識別子。 uint color; //ファクションカラー。マップ上の色に反映される。 uint count = 1; //入れた値の数マップ上にファクション領域を生成する。 float2 position; //ファクション領域の位置を表す。0~1の間の数字で指定する。位置は0を中心とし、1はマップの縁側となる。{x,y}で例にすると、xから、yの間の数値がランダムで選ばれる。 float2 radius = {1.000, 1.000}; //ファクション領域の範囲を表す。0~1の間の数字で指定する。一つのファクション生成につき、値分の半径の広さが設置される。{x,y}で例にすると、xから、yの間の数値がランダムで選ばれる。 float2 totalSize; //詳細不明。 int type; //生成されたシップの配置のされ方。0はボロノイ図式、1はスプラット、2は円形状に配置される。 List<Pair<int, List<Pair<float, float>>>> fleets; //生成されたファクション領域にシップを発生させる。一つ目のfloatで0~1の間の数字で位置を、二つ目のfloatで指定された値分だけのポイントの数シップを生成する。 List<int2> fleetCount = {{8, 15}}; float fleetFraction = 0.750; //fleetCountは一度に生成されるシップの数を指定する。例で言えば8~15機生成されることになる。 List<string> fortress; int2 fortressCount = {3, 6}; float2 fortressRadius = {500.000, 500.000}; //要塞、ステーションを指定する。fortressはシップの名前を指定(複数化)。fortressCountでは一度に生成される要塞の数を指定する。例で言えば3~6基生成されることになる。 List<int> ambient; //ファクション領域に生える植物の種類を指定する。1であれば緑色、2であれば青色、3であれば桃色の植物が生える。-1であれば植物は生えなくなる。 List<List<string>> unique; //生成されるシップの種類を指定する。 float uniqueFraction = 0.250; //詳細不明。 float2 asteroidDensity = {0.000, 0.400}; int2 asteroidSize; EnumAsteroidFlags asteroidFlags; //生成される小惑星のステータスを指定する。asteroidDensityで密度の指定。asteroidSizeで小惑星のサイズ。二つの値間でランダムに生成される。asteroidFlagsに入れることのできる値の一覧は”enum EnumAsteroidFlags”から List<GalaxyRegion> subregions; //詳細不明。 };
enum FeatureEnum
enum FeatureEnum { COMMAND, // コマンドブロックを指定する。(これを破壊されるとシップは撃沈される。) THRUSTER, // スラスターを指定する。 GENERATOR, // ジェネレータを指定する。 TURRET, // タレット兵器を指定する。CANNONやLASERで使用する。 LAUNCH, // 発射機、ランチを指定する。ミサイル兵器や種発射機に使用される。 CANNON, // キャノンを指定する。 LASER, // レーザーを指定する。 SHIELD, // シールドを指定する。 TORQUER, // スラスター無しで回転可能になる。 LAUNCHER, // ミサイルを発射する。 EXPLODE, // 敵に接触すると爆発する。 ASSEMBLER, // 再成長、再構築が可能になる。 REGROWER, // 再成長が可能になる。(再構築は不可能。) CANNON_BOOST, // キャノンに対して性能強化を与える、キャノンブースターを指定する。 INVULNERABLE, // 指定されたブロックは破壊できなくなる。 NOREGEN, // 体力を回復しなくなる。 ENVIRONMENTAL, // 指定されたブロックの上に植物が設置されるようになる。 TRACTOR, // リソースを収穫するトラクターを指定する。 ROOT, // 小惑星やENVORINMENTALが指定されたブロックに繋がれるようになる。 GROW, // 成長中のブロックにつけられる。植物に使われている。 PHOTOSYNTH, // リソースを生成する。 AUTOLAUNCH, // 自動的に稼働する。 FREERES, // リソースを使用しない。 FACTORY, // 子機を生成するファクトリーを指定する。 SEED, // 小惑星やENVORINMENTALが指定されたブロックに植え付けることができる。 UNIQUE, // エディター専用の特徴。複製することができない。 UNGROW, // 成長しない。詳細不明。 CHARGING, // 溜めが必要になるチャージングを指定する。CANNONやLASERで使用する。 PERSISTENT, // 内部的にマップ表示で使用される。ステーションやエージェントに使われている。 MELEE, // 敵に接触すると相手にダメージを与える。 TRANSIENT, // 一時的に接続されたブロックに内部的に使用される(恐らく拾ったブロックの事を指すと考えられる)。設計図には記録されていないブロックが対象。 SELFFACTORY, // 独自のデザインのシップを召喚する。詳細不明。 NOCLIP, // 衝突しない。 INVISIBLE, // 表示されない。 TELEPORTER, // テレポート機能を持たせる。 DEACTIVATES, // 破壊される代わりに非活性化する。(活動停止したステーションのように) TELESPAWN, // 遠くの場所でシップを生成する。成長済み。詳細不明。 AUTOFIRE, // 敵を自動的に標的して攻撃する。 INTLINES, // ブロックの間に線を描画させる。 PERISHABLE, // 寿命を持つ。 };
enum Shape
enum Shape { SQUARE, //四角形 OCTAGON, //八角形 THRUSTER, //一般的なスラスターの形 CANNON, MISSILE, RECT, HEXAGON, //六角形 TRI, //三角形 COMMAND, SENSOR, WING, ADAPTER, CUSTOM, PENTAGON, //五角形 RHOMBUS_72_108, RHOMBUS_36_144, THRUSTER_PENT, DISH_WEAPON, DISH_THRUSTER, RIGHT_TRI, RECT_LAUNCHER, RECT_CANNON, RECT_CANNON_BOOST, RECT_LONG, ISOTRI_72, ISOTRI_36, RIGHT_TRI2L, RIGHT_TRI2R, SEED_1, SEED_2, SEED_3, SEED_4, RECT_LONG_NARROW, RECT_LAUNCHER1, RIGHT_TRI_22_5L, RIGHT_TRI_22_5R, DISH_MISSILE, RECT_ROOT, GEM_1, GEM_2, GEM_3, GEM_4, ISOTRI_25, ISOTRI_25_MISSILE, ISOTRI_13, ISOTRI_13_MISSILE, ISOTRI_6, HEPTAGON_LAUNCHER, HEPTAGON, //七角形 GEM_2_LAUNCHER, GEM_3_LAUNCHER, GEM_4_LAUNCHER, RECT_QUARTER, ISOTRI_3, ISOTRI_25_WEAPON, NONAGON, //九角形 ISOTRI_80, THRUSTER_RECT, SQUARE_HALF, SQUARE_LAUNCHER, SQUARE_MISSILE, RIGHT_TRI_30L, RIGHT_TRI_30R, OCTAGON_1, SQUARE_1, CANNON2, MISSILE_LAUNCHER, MISSILE_SHORT, COUNT, };
enum EnumCommandFlags
enum EnumCommandFlags { METAMORPHOSIS, // 編成リストを変更するようになる。 FOLLOWER, // プレイヤーに従う。 ATTACK, // トーナメント用のAI。非常に攻撃的。 FLOCKING, // 近くのファクションと連携する。 RECKLESS, // 基本逃げる。 AGGRESSIVE, // 攻撃を仕掛けやすい。 CAUTIOUS, // 攻撃に移りにくい。 SOCIAL, // 助けを求める。 PEACEFUL, // 決して攻撃してこない。 WANDER, // 何もしなければ気まぐれにさまよう。 HATES_PLANTS, // 植物を殺そうとする。 FORGIVING, // 攻撃をやめやすい。 TRACTOR_TRANSIENT, // 落ちているブロックを拾い使用する。 DODGES, // 攻撃を避けようとする。 RIPPLE_FIRE, // リップル射撃を使用する。 SPREAD_FIRE, // 拡散攻撃を使用する。 BAD_AIM, // 狙いが不正確。 POINT_DEFENSE, // ポイント防御の装置のように動く。 INACTIVE, // 不活発になる。 SMART_FIRE, // 敵が攻撃を回避しそうな時に拡散攻撃を使用する。 NO_PARENT, // リーダーに従わない。 CHILDREN_SET, // 子機を変更しない。 -プレイヤーが設定する。 BLUEPRINT_SET, // シップの生成リストを変更しない。-プレイヤーが設定する。 };
enum EnumExplosive
enum EnumExplosive { ENABLED, //爆発を有効にする。性質は接触で爆発する。 PROXIMITY, //接近すると爆発する。 FINAL, //接触で爆発、当たらなくても消滅前に爆発する。 };
enum EnumAsteroidFlags
enum EnumAsteroidFlags { EXPLOSIVE, //爆発する PENROSE, //ペンローズパターン 2種類の菱形 SQUARE, //四角形 HEXAGON, //六角形 TRIANGLE, //三角形 OCTAGON, //八角形 UNIFORM_SIZE, UNIFORM_TYPE, };
リンク
参照元…公式ページ Reassembly Docs [www.anisopteragames.com]