ルールセット解説

Last-modified: 2020-04-28 (火) 00:18:07

まずはREADME.rulesetsファイルを読むべし。
自分でMODを作成するならなおさら。


設定ファイルについて

デフォルトのルールセットの場所は「C:\Program Files\freeciv\data\default」
なおルールセットファイルを編集する場合は、ちゃんとオリジナルファイルをバックアップしておこう。
間違って上書き保存すると厄介だぞ!(経験者は語る)

共通事項

[entry_name]
name  = "Output_Bonus"
value = 25
reqs  =
    { "type", "name", "range"
      ~適用条件1~
      ~適用条件2~
      ~適用条件3~
    }
nreqs =
    { "type", "name", "range"
      ~除外条件1~
      ~除外条件2~
    }

エントリー名は他に使われていないユニークな名前である必要がある。
nameフィールドは効果の対象を、そしてその設定値をvalueにする。
reqsは適用条件を列挙する。すべての条件を満たしていれば効果が発揮される。nreqsに列挙した条件のうち一件でも適合していれば効果は発揮されない。

type"None" (default), "Tech", "Gov", "Building", "Special", "Base", "Terrain", "UnitType", "UnitFlag", "UnitClass", "UnitClassFlag", "Nation", "OutputType", "MinYear", "MinSize", "AI", "TerrainClass","TerrainAlter", "CityTile" のうちのいずれか*1
range"None", "Local", "CAdjacent", "Adjacent", "City", "Continent", "Player", "World" のうちいずれか*2

game.ruleset

ゲーム全般の設定ファイル

設定名取れる値
(デフォルト値)
説明
base_pollution(-20)都市の公害に加える値(-20なら公害値は 人口による公害 + シールドによる公害 - 20と言う事)
happy_cost(2)市民一人を幸福にするために消費する贅沢
food_cost(2)市民一人を維持するために消費する食料
granary_food_ini(20)食料庫の大きさ カンマ区切りで各人口における食料庫の大きさを設定できる
granary_food_inc(10)granary_food_iniで人口分食料庫の大きさを定義出来るが定義分の人口を超えた時の必要食料の増分
min_city_center_food(1)都市が出力する最低限の食料
min_city_center_shield(1)都市が出力する最低限のシールド
min_city_center_trade(0)都市が出力する最低限の交易
min_dist_bw_cities(2)都市間隔の最低距離
min_dist_bw_citiesはバージョン2.4よりサーバーオプションcitymindistになりました
init_city_radius_sq(5)都市活動を行う距離(直径)
init_vis_radius_sq(5)都市の持つ視野の距離
nuke_contaminationPollution/Fallout核兵器が爆発した時に影響範囲内に置かれるもの
base_bribe_cost(750)外交官・スパイの基本ユニット買収コスト
ransom_gold(100)単独で居るバーバリアンの指導者を撃破した時に貰える金
upgrade_veteran_loss(0)ユニットをアップグレードした時に失うベテランレベルの量
autoupgrade_veteran_loss(0)ユニットを自動アップグレードした時に失うベテランレベルの量
pillage_select(1)地形改善を選択して略奪できるのかどうか
gold_upkeep_style0/1/20=各都市について建物の維持コストとユニットの維持コストを支払い
 マイナスであればランダムにその都市の建物を売却する
 なおマイナスであればランダムにその都市が支援しているユニットを解散する
1=各都市について建物の維持コストを支払い
 マイナスであればランダムにその都市の建物を売却する
 その後、全ユニットの維持コストを支払い
 マイナスであればランダムにユニットを解散する
2=全都市の維持コストとユニットの維持コストを支払い
 マイナスであればランダムな都市から建物を売却する
 なおマイナスであればランダムにユニットを解散する
tech_cost_style(0/1/2/3/4)各科学技術の必要研究ポイントの計算式。デフォルトは1
別ページで解説 「tech_cost_style別研究コスト一覧
base_tech_cost(20)科学技術の基本コスト
tech_leakage(0/1/2/3)0=テクノロジーリークなし
1=自分が大使館を持っている敵国、なおかつ既知の技術を持っている国が多いほど研究コストが減少する
2=既知の技術を持っている国(人間、AI、バーバリアン)が多いほど研究コストが減少する
3=既知の技術を持っている国(人間、AI)が多いほど研究コストが減少する
illness_on0/1疫病のオンオフ
illness_base_factor(25)疫病の発生率(パーセント)
illness_min_size(3)疫病が発生する最小都市サイズ
illness_trade_infection(50)交易路の結ばれている都市に疫病が伝染する確率(パーセント)
base_incite_cost(100)外交官・スパイの都市扇動にかかる基本金コスト
improvement_factor(1)都市にある全建物のシールドコストにこの値を掛けた値を都市扇動コストに追加する
unit_factor(2)都市にいる全ユニットのシールドコストにこの値を掛けた値を都市扇動コストに追加する
total_factor(100)都市扇動コスト計算の際に掛ける値(パーセント)
slow_invasions0/10=ノーマル
1=陸上ユニットが海上から陸地に上陸すると全ての移動ポイントを消費する
killstack0/10=都市外にいるユニットが攻撃を受けて負けたとき同タイルのユニットが全滅する(キルスタック)
1=負けたユニットだけが消滅する

killstackはバージョン2.5よりサーバーオプションになりました
tired_attack0/1(移動力修正) 移動後にユニットの移動力が残っているとき、
0=全力で攻撃ができる
1=残り移動力が1未満の場合、残り移動力に応じて攻撃力が低下する(例: 残り移動力2/3なら攻撃力が2/3倍になる)
radius_sq_city(17)都市から広がる国境の距離
size_effect(1)都市のサイズに応じて広がっていく国境の拡大量 人口26以上では人口26として適用
tech_upkeep_style0/1テクノロジーの維持コスト (0=必要なし、1=必要)
tech_upkeep_divider(2000)テクノロジーの維持コストで用いる除算因数
start_year(-4000)開始年 (西暦)

nations.ruleset

民族・国家の設定ファイル

goverments.ruleset

政治体制の設定ファイル
具体的な効果はeffect.ruleset で設定する。

設定名説明
name政治体制のゲーム上の表記
rule_namesavegames, rulesets等で使う名前
reqs政治体制を選択する際の前提条件
graphic政治体制のアイコン (インターフェースや選択時に表示)
graphic_alt上のアイコンがなかった時に使用するアイコン。"-"で何も表示しない
ruler_male_titleこの政治体制の時のプレイヤーの称号
ruler_female_title女性の時はこちら
helptextゲーム内ヘルプに表示される文章

buildings.ruleset

都市建造物や不思議の設定ファイル。
具体的な効果はeffects.rulesetで設定する。

設定名説明
name技術のゲーム上の表記名
rule_namesavegames, rulesets等で使う名前
genus"GreatWonder", "SmallWonder", "Improvement", "Special"のいずれか
reqs建物を建てる際の前提条件
graphic改善アイコン (都市ダイアログで表示される)
graphic_alt
obsolete_by科学の進歩により建物が旧式化。"None"は旧式化しない
build_cost建築に必要な建設コスト
upkeep建物の維持費
sabotage外交官による破壊活動の成功率
flags特殊フラッグ

cities.ruleset

都市および都市内労働者についての設定ファイル。

units.ruleset

ユニットについての設定ファイル

techs.ruleset

技術についての設定ファイル

設定名説明
name技術のゲーム上の表記名
rule_namesavegames, rulesets等で使う名前
req1, req2この技術を研究するために必要な前提技術 (None=開始技術、Never=利用不可技術)
root_req
flags特別フラグ (次の表を参照のこと)
graphicテクノロジーのアイコン絵
graphic_alt代用のアイコン絵
helptext追加のヘルプテキスト
bonus_message最初に技術獲得したプレイヤーがボーナス発生時で表示されるメッセージ
costtech_cost_style=2 , 4 の時、ここの研究コストが反映される

flagsで用いる文字列

設定名説明
Bonus_Tech初めて技術を獲得したプレイヤーが追加技術を手に入れる
Bridge"Settler"ユニットが川を渡れる道路を作れる
Railroad"Settler"ユニットが鉄道を作れる
Farmland"Settler"ユニットが農場を作れる
Population_Pollution_Inc人口の増加による汚染係数を増加
Build_Airborne航空ユニットを作れる(for use by AI)

terrain.ruleset

地形についての設定ファイル

effects.ruleset

buildings.ruleset、goverments.ruleset、techs.rulesetで設置した項目について、実際のゲーム中の効果を定義する。
docフォルダ内の「README.effects」に詳細な情報が載っている。

必要条件のrangeは"None", "Local",
"CAdjacent" (縦もしくは横隣), "Adjacent", "City",
"Continent", "Player", "World"のいずれかの値を取り得ます。いくつかの必要条件のtypeは一部のrangeのみを値として許している場合があります。例えば、今の段階では、"Continent"の効果は街及び街にいるユニットのみに影響を及ぼします。

必要条件は"survives"というフィールドを持つことがあります。これが"1"のとき、それの定義するエフェクトは破壊されません(不思議にのみ適用可、またworldとplayerのrangeのみ)。

エフェクト一覧

エフェクト名効果使用例
Tech_Parasite毎ターン、他のxチームが研究済みの科学技術を得る。このエフェクトが2つ重なると、重複してより悪い効果をもたらす(必要なチーム数が増える)アレクサンドリア図書館
Airlift空輸が可能になる空港
Any_Government保有している科学技術に関係なく、任意の政治体制に移行できる自由の女神
Capital_Cityこの効果のもとにある都市が首都になる(内戦や宇宙船破壊のトリガー)宮殿
Gov_Centerこの効果のもとにある都市が政治的な中心都市になる(この都市からの距離で汚職や浪費の量が決定)宮殿/2.5.0より追加
Enable_Nuke核兵器の生産が可能になるマンハッタン計画
Enable_Space宇宙船の部品の生産が可能になるアポロ計画
Specialist_Output専門家1人あたりの産出量。OutputTypeで何を産出するかを決定専門家
Output_Bonus都市の産出量が増加(単位は%)市場・図書館・工場など
Output_Bonus_2Output_Bonusで増加した産出量に対して更に乗算(単位は%)civ2civ3ルールセットのチートAI
Output_Add_Tile市民が労働している全タイルの産出量に追加リチャード1世の十字軍遠征
Output_Inc_Tile市民が労働していて、かつ最低1ポイント産出しているタイルに値を追加ロードス島の巨神像
Output_Per_Tileタイルの産出量が増加(%で指定)スーパーマーケット
Output_Waste_Pct汚職・浪費が減少(単位は%)宮殿・裁判所
Force_Contentこの人数の不幸市民を平静市民にする。ユニットによる影響の後に適用J.S.バッハの大聖堂
Give_Imm_Tech指定数の科学技術を即座に得る「哲学」・ダーウィンの航海
Growth_Food街のサイズが増減したとき穀物庫に残る食料を指定(単位は%)。"aqueductloss"ペナルティーにも適用される穀物庫・ピラミッド
Have_Embassies他のプレイヤー全員に大使館を設置マルコ・ポーロの大使館
Make_Contentこの人数の不幸市民を平静市民にする。ユニットによる影響の前に適用寺院・大聖堂
Make_Content_Mil戦闘ユニットが原因の不幸市民をこの人数だけ平静市民にする共和制・警察署
Make_Content_Mil_PerMake amount per unit of unhappy citizens caused by units outside of a city content.
Make_Happyこの人数の市民を幸福市民にする空中庭園
Enemy_Citizen_Unhappy_Pct都市に住む敵国人のうち不幸市民になる者の割合(単位は%)政治体制による変化(experimental)
No_Anarchy値を1にすると政治体制を変更する際に無政府状態にならなくなる。加えて議会を解散させることができる自由の女神
Nuke_Proof核攻撃の阻止に成功する確率(単位は%)SDI防衛システム
Pollu_Pop_Pct過密が原因の都市公害を増加させる(単位は%)公共交通機関
Pollu_Prod_Pct産業活動が原因の産業公害を増加させる(単位は%)リサイクル施設・各発電所
Health_Pct都市の疫病の発生確率を減少させる(単位は%)
Reveal_Cities即座に全ての都市の場所を得るインターネット(civ2civ3)
Reveal_Map即座に全ての地図を得るアポロ計画
Incite_Cost_Pct都市の叛乱を煽動する際の費用を増加させる(単位は%)裁判所
Size_Adj都市の最大サイズを決定上水道
Size_Unlimit都市サイズを無制限にする下水道
SS_Structuralこのエフェクトを設定した都市建造物は、一般のそれとは異なり宇宙船のパーツとして扱われる。
他の効果(不幸市民を減らすなど)を設定することはできない
宇宙船構造物
SS_Component宇宙コンポーネント
SS_Module宇宙モジュール
Spy_Resistant外交官やスパイによる破壊工作が失敗する確率(単位は%)。および駐在する自国の諜報ユニットが外交戦において得られる防御ボーナス。複数あるときは加算される宮殿
Move_Bonusユニットの移動力を増加させる。 Use UnitClass' requirement with range of 'Local' to give it a specific class of units only.「原子力」・マゼランの探検航海
Unit_No_Lose_Pop都市の守備兵が撃破されたとき、人口の減少を防ぐ城壁・万里の長城
Unit_Recoverユニットの体力を毎ターン指定した値だけ回復させる国際連合
Upgrade_Unit毎ターン指定数の旧式化したユニットがアップグレードされるレオナルド・ダ・ヴィンチの工房
Upkeep_Free都市建造物のうち、維持費が指定した額以下のものは維持費が無料になる(その他の建物はそのまま)無政府状態・アダム・スミスの貿易会社
Tech_Upkeep_Freeこの値が正の時、科学技術の維持をこの値分だけ減らします。これがBasicに使われたとき、全体からこの値が引かれ、これがCitiesに使われた時、各都市からこの値が引かれます。
No_Unhappy値が1のとき、不幸市民が発生しなくなるシェイクスピアの劇場
Veteran_Build新しく生産されたユニットの練度が1段階上昇する。複数の効果が重なると加算される兵舎・空港・孫子の兵法学校
Veteran_Combat戦闘後にユニットの練度が上昇する確率を増加させる(単位は%)孫子の兵法学校・チートAI
HP_Regenユニットが1ターンの間移動しなかったとき、体力が回復する割合(単位は%)兵舎・空港・要塞
City_Vision_Radius_Sq都市の視界の増加量の2乗「電気学」の取得で拡大(civ2civ3)
Unit_Vision_Radius_Sqユニットの視界の増加量の2乗「発明」の取得で拡大する要塞内のユニットの視界
Defend_Bonus防御側ユニットが得る防御ボーナス(単位は%)。攻撃側が城壁無視フラグを持ってる場合には無効城壁・沿岸防衛
No_Incite1を指定すると都市の叛乱を煽動することが不可能になる宮殿・民主主義
Gain_AI_LoveAIの心証の変化量エッフェル塔
Turn_YearsYear advances by AMOUNT each turn unless Slow_Down_Timeline causes it to be less.
Slow_Down_TimelineSlow down the timeline based on the AMOUNT. If AMOUNT >= 3 the timeline will be max 1 year/turn; with AMOUNT == 2 it is max 2 years/turn; with AMOUNT == 1 it is max 5 years/turn; with AMOUNT <= 0 the timeline is unaffected. The effect will be ignored if game.spacerace isn't set.
Civil_War_Chance首都陥落により内戦が勃発する確率(単位は%)。ただし暴動が発生している都市があれば1都市につき+5%増加し、祝祭中の都市があれば1都市につき-5%減少する各政治体制
City_Unhappy_SizeThe maximum number of citizens in each city that are naturally content;in larger cities, new citizens above this limit start out unhappy. (Before Empire_Size_Base/Step are applied.)
Empire_Size_BaseOnce your civilization has more cities than the value of this effect,each city gets one more unhappy citizen. If the sum of this effect and Empire_Size_Step is zero, there is no such penalty.
Empire_Size_StepAfter your civilization reaches Empire_Size_Base size, it gets one more unhappy citizen for each amount of cities it gets above that. Set to zero to disable. You can use Empire_Size_Step even if Empire_Size_Base is zero.
Max_Rates税/贅沢/科学に投入できる交易ポイントの割合の最大値各政治体制
Martial_Law_Each(戒厳令)1戦闘ユニットが強制的に平静にする市民の数無政府状態・専制政治・君主制・共産主義
Martial_Law_Max(戒厳令)強制的に市民を平静にできる戦闘ユニットの最大数
Rapture_Grow祝祭による都市成長が可能になる最低都市サイズ共和制・民主主義
Unbribable_Units1にするとユニットが買収に応じなくなる民主主義
Revolution_When_Unhappy1にすると暴動が2ターン以上継続することで政府が崩壊
Has_Senate1にすると議会が置かれ、条約破棄を承認しない共和制・民主主義
Inspire_Partisans都市陥落によってパルチザンユニット(units.rulesetの設定による)が発生する条件を設定する共産主義・民主主義
Happiness_To_GoldMake all Make_Content and Force_Content effects instead generate gold.
Max_Trade_RoutesNumber of trade routes that city can establish. This is forced on trade route creation only. Existing trade routes are never removed due to reduction of effect value. This is to avoid micro-management, need to create same trade routes again after their max number has been temporarily down.
FanaticsUnits with "Fanatics" flag incur no upkeep.
No_Diplomacy1にすると外交会談ができなくなるバーバリアン・海賊
Not_Tech_SourceTech cannot be received from this player by any means.
Trade_Revenue_Bonusキャラバンの到着ボーナス。2の(数値/1000)乗。
例えば「鉄道」を獲得すると"-585"になると設定されているのは、2^(-585/1000)=0.666...となり、つまり1/3減ということ
「鉄道」・「飛行術」
Unhappy_Factor1戦闘ユニットが発生させる不幸市民の数共和制・民主主義
Upkeep_Factorユニットの維持費.
Unit_Upkeep_Free_Per_CityIn each city unit upkeep is deducted by this amount. As usual, you can use with OutputType requirement to specify which kind of upkeep this should be.
Output_WasteBase amount in percentage that each city has in waste. Waste can be used with any output type, use an OutputType requirement to specify which.
Output_Waste_By_DistanceFor each tile in real distance that a city is from your capital, it gets amount of extra waste.
Output_Penalty_TileWhen a tile yields more output than amount, it gets a penalty of -1.
Output_Inc_Tile_CelebrateTiles get amount extra output when city working them is celebrating.
Upgrade_Price_PctIncreases unit upgrade cost by amount percent. This effect works at player level. You cannot adjust upgrade costs for certain unit type or for units upgraded in certain city.
Visible_Wall1にすると都市の外観が城壁付きのグラフィックに変わる城壁・万里の長城
Tech_Cost_Factor科学技術の研究コストに掛ける倍率西暦1年以降(civ1, civ2)
Shield2Gold_FactorFactor in percent for the conversion of unit shield upkeep to gold upkeep. A value of 200 would transfer 1 shield upkeep to 2 gold upkeep. The range of this effect must be player or world. Note that only units with the "Shield2Gold" flag will be affected by this.
Tile_WorkableIf value > 0, city can work target tile.
Irrig_PossibleIf value > 0, unit can build irrigation to target tile. In addition to requirements given to this effect, unit must also have Settlers flag.
Mining_PossibleIf value > 0, unit can build mine to target tile. In addition to requirements given to this effect, terrain type must be one to which mine can be built.
Transform_PossibleIf value > 0, unit can transform target tile. In addition to requirements given to this effect, terrain type needs to be one that can be transformed.
Irrig_TF_PossibleIf value > 0, unit can transform target tile terrain to another by irrigating. In addition to requirements given to this effect, terrain must be one that can be transformed by irrigating.
Mining_TF_PossibleIf value > 0, unit can transform target tile terrain to another by mining. In addition to requirements given to this effect, terrain must be one that can be transformed by mining.
Migration_PctIncrease the calculated migration score for the a city by amount in percent.
City_Radius_SqIncrease the squared city radius by amount. Currently, this can only usefully have "MinSize", "Building", or "Tech" requirements.
City_Build_SlotsIncrease the number of units with no population cost a city can build in a turn if there are enough shields.
City_ImageThe index for the city image of the given city style.

styles.ruleset

ai_effects.ruleset

チートAIに対する追加設定。
classicルールセットのeffects.rulesetに「*include "default/ai_effects.ruleset"」という記述があり、
これによって呼び出されている。
参照先を書き換えることで、追加した不思議の効果だけを別ファイルにする、といったことも可能。

参考サイト

以前からあるこちらのサイトでも詳細に書いてある。

Linuxで遊ぼう/ルールセットを作る
http://utsukemononi.gozaru.jp/fciv/edit/edit_rule01.html
公式Wikiルールセット解説
http://freeciv.wikia.com/wiki/Editing_Rulesets マイナーバージョンアップの際の書き換え方法が下にある

翻訳プロジェクト

翻訳プロジェクト


*1 freeciv-2.4: freecivのバージョンの違いにより変化あり
*2 ただしtypeによって使用可能なrangeが異なる場合がある