標準ルール・RaF
格納庫
この都市で訓練を受けた航空ユニットの戦闘経験値+25%。飛行場 (区域) の航空機スロット+2。
GS
格納庫
この都市で訓練を受けた航空ユニットの戦闘経験値+25%。飛行場区域の航空機スロット+1。
飛行場区域の建造物である格納庫はGSでは航空機スロットの増加が+1に変更になっている
標準ルールで格納庫に設定されているModifierの構成は以下の通り
<ModifierArguments> <Update> <Where ModifierId="HANGAR_BONUS_AIR_SLOTS"/> <Set> <Name>Amount</Name> <Value>1</Value> </Set> </Update> </ModifierArguments>
GSでは上記の内容が読み込まれて航空機スロットの増加数が+2から+1に修正される
Modifier構成内の増加量の数値をピンポイントで上書きしている
先のxml形式での更新をsql形式にすると
UPDATE ModifierArguments /* ModifierArguments で更新 */ SET Name = 'Amount' /* Name の内容を Amount に */ , Value = 1 /* Value の内容を 1 に */ WHERE ModifierId = 'HANGAR_BONUS_AIR_SLOTS' /* ModifierId が HANGAR_BONUS_AIR_SLOTS のとこだけで */ ; /* 終了 */
になる
これを応用して以下のような内容にすると
UPDATE ModifierArguments SET Value = 10 WHERE ModifierId = 'TRAIT_CULTURE_PER_CITY_STATE_TRIBUTARY' AND Name = 'Amount' ;
ペリクレスのUAでの、「宗主国になっている都市国家ひとつにつき文化力+5%」が
「ひとつにつき文化力+10%」になる
このペリクレスのUAで使われてる「属国の数だけ産出量調整」のModifierTypeでは
ModifierArgumentsを複数使っているので
WHERE ModifierId = 'TRAIT_CULTURE_PER_CITY_STATE_TRIBUTARY'
WHEREでModifierIdだけを指定していると
「文化力を調整する」となっている部分も更新してしまう
【「10」を10%増加させる】 ではエラーでUA自体が無効になってしまうので
ModifierArgumentsが複数ある場合は
ModifierIdだけでなくNameも指定する