Document cumulative Veteran_Build in README.effects.
[freeciv.git] / doc / README.effects
blobc9d51194b796d46d07ec9e1948b650644b565199
1 The effects.ruleset file contains all effects in play in a Freeciv scenario. 
2 They have the following form (this is perhaps the most complicated example I 
3 could find):
5 [effect_hydro_plant]
6 name  = "Output_Bonus"
7 value = 25
8 reqs  =
9     { "type", "name", "range"
10       "Building", "Factory", "City"
11       "Building", "Hydro Plant", "City"
12       "OutputType", "Shield", "Local"
13     }
14 nreqs =
15     { "type", "name", "range"
16       "Building", "Hoover Dam", "Player"
17       "Building", "Nuclear Plant", "City"
18     }
20 The text in the brackets is the entry name, which just has to be unique, but 
21 is otherwise not used. The name field tells Freeciv which effect you are 
22 defining.  The value is the effect's value, which depends on which effect it 
23 is. The reqs table contain a list of requirements for this effect being in 
24 effect. You need to satisfy all requirements listed here for this effect to 
25 take effect in the game.  Lastly there is the nreqs table which is the 
26 opposite of the reqs field, these are conditions which prevent the effect from 
27 taking place. Any one of the nreq conditions will prevent the effect from 
28 taking effect.
30 Value is integral amount parameter for many effects (must be in the range 
31 -32767 to 32767).
33 Requirement range may be one of: "None", "Local",
34 "CAdjacent" (Cardinally Adjacent), "Adjacent", "City", 
35 "Continent", "Player", "World". Some requirement types may only work at 
36 certain ranges; this is not yet documented. In particular, at present, 
37 "Continent" effects can affect only cities and units in cities.
39 A requirement may have a 'survives' field, and if this 'TRUE', the effect
40 survives destruction (wonders only, at world or player range only).
42 A requirement may have a 'negated' field, and if this is 'TRUE', the
43 requirement is negated.  If this is 'FALSE', the requirement is not negated.
46 Requirement types and supported ranges
47 ======================================
49 Tech:          World, Player
50 TechFlag:      World, Player
51 Gov:           Player
52 Building:      World, Player, Continent, City, Local
53 Special:       Local, Adjacent, CAdjacent, City
54 Base:          Local, Adjacent, CAdjacent, City
55 Road:          Local, Adjacent, CAdjacent, City
56 Terrain:       Local, Adjacent, CAdjacent, City
57 Resource:      Local, Adjacent, CAdjacent, City
58 UnitType:      Local
59 UnitFlag:      Local
60 UnitClass:     Local
61 UnitClassFlag: Local
62 Nation:        World, Player
63 Nationality:   City
64 OutputType:    Local
65 Specialist:    Local
66 MinYear:       World
67 MinSize:       City
68 AI:            Player
69 TerrainClass:  Local, Adjacent, CAdjacent, City
70 TerrainFlag:   Local, Adjacent, CAdjacent, City
71 TerrainAlter:  Local
72 CityTile:      Local, Adjacent, CAdjacent
74 MinSize is the minimum size of a city required.
75 AI is ai player difficulty level.
76 TerrainClass is either "Land" or "Oceanic".
77 Only "Center" is supported as CityTile type.
80 Effect types
81 ============
83 Tech_Parasite
84     Gain any advance known already by amount number of other players. Note 
85 that if you have two such effects, they combine into one much worse effect 
86 (the number of players required to gain an advance is increased).
88 Airlift
89     Allow airlift to/from a city.
91 Any_Government
92     Allow changing to any form of government regardless of tech prerequisites.
94 Capital_City
95     The city with this effect is the capital city.
97 Gov_Center
98     The city with this effect is governmental center. Corruption and
99     waste depends on distance to nearest such city.
101 Enable_Nuke
102     Allows the production of nuclear weapons.
104 Enable_Space
105     Allows the production of space components.
107 Specialist_Output
108     Specify what outputs a specialist is producing. Should be used with an 
109 OutputType requirement.
111 Output_Bonus
112     City production is increased by amount percent.
114 Output_Bonus_2
115     City production is increased by amount percent after Output_Bonus, so is 
116 multiplicative with it.
118 Output_Add_Tile
119     Add amount to each worked tile.
121 Output_Inc_Tile
122     Add amount to each worked tile that already has at least 1 output.
124 Output_Per_Tile
125     Increase tile output by amount percent.
127 Output_Waste_Pct
128     Reduce waste by amount percent.
130 Force_Content
131     Make amount' unhappy citizens content. Applied after martial law and unit 
132 penalties.
134 Give_Imm_Tech
135     Give amount techs immediately.
137 Growth_Food
138     Food left after cities grow or shrink is amount percent of the capacity of 
139 the city's foodbox. This also affects the 'aqueductloss' penalty.
141 Have_Embassies
142     Like having embassies with all other players.
144 Make_Content
145     Make amount unhappy citizens content. Applied before martial law and unit 
146 penalties.
148 Make_Content_Mil
149     Make amount unhappy citizens caused by units outside of a city content.
151 Make_Content_Mil_Per
152     Make amount per unit of unhappy citizens caused by units outside of a city 
153 content.
155 Make_Happy
156     Make amount citizens happy.
158 Enemy_Citizen_Unhappy_Pct
159     There will be one extra unhappy citizen for each value/100 citizens
160     of enemy nationality in the city.
162 No_Anarchy
163     No period of anarchy between government changes. (This also neuters
164 the Has_Senate effect.)
166 Nuke_Proof
167     City is nuke proof.
169 Pollu_Pop_Pct
170     Increases pollution caused by population by amount percent.
172 Pollu_Prod_Pct
173     Increases pollution caused by shields by amount percent.
175 Health_Pct
176     Reduces possibility of illness (plague) in a city by amount percent.
178 Reveal_Cities
179     Immediately make all cities known.
181 Reveal_Map
182     Immediately make entire map known.
184 Incite_Cost_Pct
185     Increases revolt cost by amount percent.
187 Size_Adj
188     Increase maximum size of a city by amount.
190 Size_Unlimit
191     Make the size of a city unlimited.
193 SS_Structural, SS_Component and SS_Module
194     A part of a spaceship; this is a "Local" ranged effect. It (for now) 
195 applies to improvements which cannot be built unless "Enable_Space" is felt. 
196 Buildings which have this effect should probably not be given any other 
197 effects.
199 Spy_Resistant
200     If a spy specifies a target for sabotage, then she has an AMOUNT percent 
201 chance to fail. Also in diplomatic combat defending diplomatic units in cities 
202 will get an AMOUNT percent bonus. All Spy_Resistant's are summed before being 
203 applied.
205 Move_Bonus
206     Add amount movement to units. Use UnitClass' requirement with range of 
207 'Local' to give it a specific class of units only.
209 Unit_No_Lose_Pop
210     No population lost when a city's defender is lost.
212 Unit_Recover
213     Units recover amount extra hitpoints per turn.
215 Upgrade_Unit
216     Upgrade amount obsolete units per turn.
218 Upkeep_Free
219     Improvements with amount or less upkeep cost become free to upkeep (others 
220 are unaffected).
222 Tech_Upkeep_Free
223     If this value is greater than 0, the tech upkeep is reduced by this value.
224     For tech upkeep style "Basic" this is total reduction, for tech upkeep
225     style "Cities" this reduction is applied to every city.
227 No_Unhappy
228     No citizens in the city are ever unhappy.
230 Veteran_Build
231     Increases the veteran class of newly created units of this type. The
232 total amount determines the veteran class (clipped at the maximum for the
233 unit).
235 Veteran_Combat
236     Increases the chance of units of this type becoming veteran after combat 
237 by amount percent.
239 HP_Regen
240     Units that do not move recover amount percentage of their full hitpoints 
241 per turn.
243 City_Vision_Radius_Sq
244     Increase city vision radius in squared distance by amount tiles.
246 Unit_Vision_Radius_Sq
247     Increase unit vision radius in squared distance by amount tiles.
249 Defend_Bonus
250     Increases defensive bonuses of units. Any unit requirements on this effect
251 will be applied to the _attacking_ unit. The defensive bonus is ignored by
252 attackers with "IgWall" flag. Attackers with "BadWallAttacker" flag will have
253 their firepower set to 1.
255 No_Incite
256     City cannot be incited.
258 Gain_AI_Love
259     Gain amount points of "AI love" with AI(s).
261 Turn_Years
262     Year advances by AMOUNT each turn unless Slow_Down_Timeline causes it
263     to be less.
265 Slow_Down_Timeline
266     Slow down the timeline based on the AMOUNT. If AMOUNT >= 3 the timeline 
267 will be max 1 year/turn; with AMOUNT == 2 it is max 2 years/turn;
268 with AMOUNT == 1 it is max 5 years/turn; with AMOUNT <= 0 the timeline is
269 unaffected. The effect will be ignored if game.spacerace isn't set.
271 Civil_War_Chance
272     Base chance in per cent of a nation being split by civil war when its
273 capital is captured is increased by this amount. This percentage is in-
274 creased by 5 for each city in civil disorder and reduced by 5 for each one
275 celebrating.
277 City_Unhappy_Size
278     The maximum number of citizens in each city that are naturally content;
279 in larger cities, new citizens above this limit start out unhappy. (Before
280 Empire_Size_Base/Step are applied.)
282 Empire_Size_Base
283     Once your civilization has more cities than the value of this effect,
284 each city gets one more unhappy citizen. If the sum of this effect and
285 Empire_Size_Step is zero, there is no such penalty.
287 Empire_Size_Step
288     After your civilization reaches Empire_Size_Base size, it gets one more 
289 unhappy citizen for each amount of cities it gets above that. Set to zero to 
290 disable. You can use Empire_Size_Step even if Empire_Size_Base is zero.
292 Max_Rates
293     The maximum setting for each tax rate is amount.
295 Martial_Law_Each
296     The amount of citizens pacified by each military unit giving martial law.
298 Martial_Law_Max
299     The maximum amount of units that will give martial law in city.
301 Rapture_Grow
302     Can rapture grow cities.
304 Unbribable_Units
305     Units cannot be bribed.
307 Revolution_When_Unhappy
308     If a city owned by this player is in revolt for more than two turns, 
309 government falls.
311 Has_Senate
312     Has a senate that prevents declarations of war in most cases.
314 Inspire_Partisans
315     Partisan units (defined in units.ruleset) may spring up when this player's 
316 cities are taken.
318 Happiness_To_Gold
319     Make all Make_Content and Force_Content effects instead generate gold.
321 Max_Trade_Routes
322     Number of trade routes that city can establish.
323     This is forced on trade route creation only. Existing trade routes
324     are never removed due to reduction of effect value. This is to
325     avoid micro-management, need to create same trade routes again
326     after their max number has been temporarily down.
328 Fanatics
329     Units with "Fanatics" flag incur no upkeep.
331 No_Diplomacy
332     Cannot use any diplomacy.
334 Not_Tech_Source
335     Tech cannot be received from this player by any means.
337 Trade_Revenue_Bonus
338     Trade revenue is multiplied by pow(2, amount/1000). The amount value is 
339 taken from the caravan's home city.
341 Unhappy_Factor
342     Multiply unhappy unit upkeep by amount.
344 Upkeep_Factor
345     Multiply unit upkeep by amount.
347 Unit_Upkeep_Free_Per_City
348     In each city unit upkeep is deducted by this amount. As usual, you can use 
349 with OutputType requirement to specify which kind of upkeep this should be.
351 Output_Waste
352     Base amount in percentage that each city has in waste. Waste can be used 
353 with any output type, use an OutputType requirement to specify which.
355 Output_Waste_By_Distance
356     For each tile in real distance that a city is from your capital, it gets 
357 amount of extra waste.
359 Output_Penalty_Tile
360     When a tile yields more output than amount, it gets a penalty of -1.
362 Output_Inc_Tile_Celebrate
363     Tiles get amount extra output when city working them is celebrating.
365 Upgrade_Price_Pct
366     Increases unit upgrade cost by amount percent. This effect works at
367     player level. You cannot adjust upgrade costs for certain unit type or
368     for units upgraded in certain city.
370 Visible_Wall
371     Positive amount only instructs clients to use wall graphics for city.
373 Tech_Cost_Factor
374     Factor for research costs.
376 Shield2Gold_Factor
377     Factor in percent for the conversion of unit shield upkeep to gold upkeep.
378     A value of 200 would transfer 1 shield upkeep to 2 gold upkeep. The range
379     of this effect must be player or world. Note that only units with the
380     "Shield2Gold" flag will be affected by this.
382 Tile_Workable
383     If value != 0, city can work target tile.
385 Irrig_Possible
386     If value > 0, unit can build irrigation to target tile. In addition to
387     requirements given to this effect, unit must also have Settlers flag.
389 Mining_Possible
390     If value > 0, unit can build mine to target tile. In addition to
391     requirements given to this effect, terrain type must be one to which mine
392     can be built.
394 Transform_Possible
395     If value > 0, unit can transform target tile. In addition to requirements
396     given to this effect, terrain type needs to be one that can be transformed.
398 Irrig_TF_Possible
399     If value > 0, unit can transform target tile terrain to another by irrigating.
400     In addition to requirements given to this effect, terrain must be one that
401     can be transformed by irrigating.
403 Mining_TF_Possible
404     If value > 0, unit can transform target tile terrain to another by mining.
405     In addition to requirements given to this effect, terrain must be one that
406     can be transformed by mining.
408 Migration_Pct
409     Increase the calculated migration score for the a city by amount in
410     percent.
412 City_Radius_Sq
413     Increase the squared city radius by amount. Currently, this can only
414     usefully have "MinSize", "Building", or "Tech" requirements.
416 City_Build_Slots
417     Increase the number of units with no population cost a city can build in
418     a turn if there are enough shields.
420 City_Image
421     The index for the city image of the given city style.