wmllint now does translation-mark and doublespace checks outside scenrio tags.
This diff fixes some glitches found that way and tells wmllint to ignore various edge cases. A few cannot_use_message=NONE instances are removed, as this simplifies the check and zookeeper says it's safe.
This commit is contained in:
parent
2404820646
commit
76abc35ca6
26 changed files with 220 additions and 100 deletions
|
@ -17,7 +17,7 @@
|
|||
advances_to=null
|
||||
cost=1
|
||||
usage=fighter
|
||||
description= "A Fireball. This is not to be used for anything else than a 'Move_Unit_Fake'!"
|
||||
description=_ "A Fireball. This is not to be used for anything else than a 'Move_Unit_Fake'!"
|
||||
hide_help=true
|
||||
do_not_list=yes
|
||||
[/unit_type]
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define INVISIBILITY_POTION USER_ID
|
||||
[object]
|
||||
id=invisibility_potion_{USER_ID}
|
||||
description= _ "{USER_ID} taken Crelanu's Potion"
|
||||
description= _ "{USER_ID} taken Crelanu's Potion" #wmllint: ignore
|
||||
duration=level
|
||||
[filter]
|
||||
id={USER_ID}
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
speaker=narrator
|
||||
[text_input]
|
||||
variable=ai_controller.location_input
|
||||
label="Location name?"
|
||||
label=_ "Location name?"
|
||||
max_chars=10 # ?hmmm
|
||||
#text=""
|
||||
[/text_input]
|
||||
|
@ -43,7 +43,7 @@
|
|||
speaker=narrator
|
||||
[text_input]
|
||||
variable=ai_controller.location_range
|
||||
label="Range in Hexfields?"
|
||||
label=_ "Range in Hexfields?"
|
||||
max_chars=3
|
||||
[/text_input]
|
||||
image=wesnoth-icon.png
|
||||
|
@ -257,9 +257,9 @@
|
|||
speaker=narrator
|
||||
[text_input]
|
||||
variable=ai_controller.ai_value
|
||||
label="value: "
|
||||
label=_ "value: "
|
||||
max_chars=2
|
||||
text=20
|
||||
text=20 # wmllint: ignore
|
||||
[/text_input]
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
|
@ -507,7 +507,7 @@
|
|||
[/option]
|
||||
|
||||
[option]
|
||||
message="Defend a location!"
|
||||
message=_ "Defend a location!"
|
||||
[command]
|
||||
{FOREACH ai_controller.locations location}
|
||||
[set_variables]
|
||||
|
@ -574,7 +574,7 @@
|
|||
mode=append
|
||||
[value]
|
||||
id="command_goto_$ai_controller.locations[$location].id"
|
||||
message="Goto the $ai_controller.locations[$location].name|!"
|
||||
message=_ "Goto the $ai_controller.locations[$location].name|!"
|
||||
[command]
|
||||
[fire_event]
|
||||
name=ai_ask_value
|
||||
|
@ -738,7 +738,7 @@
|
|||
mode=append
|
||||
[value]
|
||||
id="command_send_$ai_controller.locations[$location].id"
|
||||
message="Move to the $ai_controller.locations[$location].name|!"
|
||||
message=_ "Move to the $ai_controller.locations[$location].name|!"
|
||||
[command]
|
||||
[store_unit]
|
||||
[filter]
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#define LOOT AMOUNT SIDE
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "You retrieve {AMOUNT} pieces of gold."
|
||||
message= _ "You retrieve {AMOUNT} pieces of gold." # wmllint: ignore
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
|
||||
|
@ -170,7 +170,7 @@
|
|||
[/modify_side]
|
||||
|
||||
[debug_message]
|
||||
message="gold of side {SIDE} set to $gold"
|
||||
message="gold of side {SIDE} set to $gold" # wmllint: ignore
|
||||
logger=warn
|
||||
[/debug_message]
|
||||
|
||||
|
@ -221,7 +221,7 @@
|
|||
|
||||
[message_debug]
|
||||
logger=warn
|
||||
message="Village at {X}, {Y} to side {SIDE}"
|
||||
message=_ "Village at {X}, {Y} to side {SIDE}" # wmllint: ignore
|
||||
[/message_debug]
|
||||
[/event]
|
||||
#enddef
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
name= _ "Dwarvish Masked Steelclad"
|
||||
image="units/masked_steelclad.png"
|
||||
advances_to=Dwarvish Masked Lord
|
||||
description= _ "More experienced Dwarvish fighters wear heavy chain mail and plate armor, for which they are rightly famous. In the dark dreams of dwarvenkind, some conceal their faces behind riveted masks."
|
||||
description= _ "More experienced Dwarvish fighters wear heavy chain mail and plate armor, for which they are rightly famous. In the dark dreams of dwarvenkind, some conceal their faces behind riveted masks."
|
||||
{DEFENSE_ANIM "units/masked_steelclad-defend.png" "units/masked_steelclad.png" {SOUND_LIST:DWARF_HIT} }
|
||||
[attack_anim]
|
||||
[filter_attack]
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
[else]
|
||||
[message]
|
||||
speaker=Ganthos
|
||||
messsage=_"Killed by a dead creep... (cough)"
|
||||
message=_"Killed by a dead creep... (cough)"
|
||||
[/message]
|
||||
[/else]
|
||||
[/if]
|
||||
|
|
|
@ -477,7 +477,7 @@ This unit's resistances are increased by 20% in daylight, on defense and attack.
|
|||
[/filter_self]
|
||||
# don't clutter ability list
|
||||
name= ""
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
affect_self=yes
|
||||
[/resistance]
|
||||
[/abilities]
|
||||
|
|
|
@ -71,13 +71,13 @@
|
|||
{VARIABLE second_unit.role "zoc_off"}
|
||||
[unstore_unit]
|
||||
variable=second_unit
|
||||
text="stunned"
|
||||
text="stunned" # wmllint: ignore
|
||||
red,green,blue=150,120,250
|
||||
[/unstore_unit]
|
||||
{VARIABLE unit.status.slowed "on"}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
text="slowed"
|
||||
text="slowed" # wmllint: ignore
|
||||
red,green,blue=200,55,55
|
||||
[/unstore_unit]
|
||||
[object]
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#define UNLABEL POSITION
|
||||
[label]
|
||||
x,y={POSITION}
|
||||
text=""
|
||||
text="" # wmllint: ignore
|
||||
[/label]
|
||||
#enddef
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
|||
|
||||
#define CLEAR_PRINT
|
||||
[print]
|
||||
text=""
|
||||
text="" # wmllint: ignore
|
||||
[/print]
|
||||
#enddef
|
||||
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
generator="contents:generated"
|
||||
[/topic]
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=.unknown_unit
|
||||
title= _ "Unknown Unit"
|
||||
|
@ -120,6 +121,7 @@ This unit is unknown for the moment. You must discover it in the game to be allo
|
|||
|
||||
Battle for Wesnoth is a turn-based fantasy strategy game somewhat unusual among modern strategy games. While other games strive for complexity, Battle for Wesnoth strives for simplicity of both rules and gameplay. This does not make the game simple, however - from these simple rules arise a wealth of strategy, making the game easy to learn but a challenge to master."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
[topic]
|
||||
id=..gameplay
|
||||
|
@ -146,6 +148,7 @@ To begin with, it's best to click the <italic>text=Tutorial</italic> button at t
|
|||
Campaigns consist of multiple scenarios that follow on from each other, telling a story. In a campaign, you often need to play more carefully, preserving your best troops so that they can be used again in later scenarios in the campaign."
|
||||
[/topic]
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=victory_and_defeat
|
||||
title= _ "Victory and Defeat"
|
||||
|
@ -153,7 +156,9 @@ Campaigns consist of multiple scenarios that follow on from each other, telling
|
|||
|
||||
When you win a scenario, the map will gray over and the 'End Turn' button will change to 'End Scenario'. You can now do things like changing your save options or (if you are in a multiplayer game) chatting with other players before pressing that button to advance."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=recruit_and_recall
|
||||
title= _ "Recruiting and Recalling"
|
||||
|
@ -167,7 +172,9 @@ In later scenarios, you may also Recall survivors from earlier battles. Recallin
|
|||
|
||||
Units not only cost gold to Recruit or Recall, they also require money to support. See <ref>dst='income_and_upkeep' text='Income and Upkeep'</ref> for more information."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=orbs
|
||||
title= _ "Orbs"
|
||||
|
@ -178,7 +185,9 @@ Units not only cost gold to Recruit or Recall, they also require money to suppor
|
|||
<img>src=help/orb-blue.png align=here</img>" + _ "The orb is blue if the unit is an ally you do not control." + "
|
||||
<img>src=help/orb-none.png align=here</img>" + _ "Enemy units have no orb on top of their energy bar."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=hitpoints
|
||||
title= _ "Hitpoints and Experience"
|
||||
|
@ -189,7 +198,9 @@ Units not only cost gold to Recruit or Recall, they also require money to suppor
|
|||
_"The hitpoints and experience points are both indicated in the status pane using two numbers (the current value and the maximum value the unit can have)." + "
|
||||
<img>src=help/hp-bars.png align=left float=yes</img>" + _"The hitpoints are also indicated by an energy bar next to each unit, which is green, yellow or red. A unit with at least 1 experience point has a blue experience bar, which turns white as the unit is about to <ref>dst='experience_and_advancement' text='advance'</ref>."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=movement
|
||||
title= _ "Movement"
|
||||
|
@ -201,15 +212,19 @@ Another thing to keep in mind while moving is Zones of Control. Each unit genera
|
|||
|
||||
To see where the enemy can move to during their next turn, press Ctrl-v or Cmd-v. Ctrl-b or Cmd-b shows where the enemy could move, if your units were not on the map to block their progress."
|
||||
[/topic]
|
||||
|
||||
[topic]
|
||||
#wmllint: markcheck off
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=shroud_and_fog
|
||||
title= _ "Shroud and Fog of War"
|
||||
text= _ "In some scenarios, parts of the map will be hidden from you. There are two mechanisms that can be used separately or together. The Shroud hides both the terrain and any units at a location. However, once it is cleared, you can always see that location. The Fog of War only hides units and ownership of villages (other than by you or your allies). The Fog of War is cleared temporarily when you have units nearby, but returns when they leave. Both the Shroud and the Fog of War are cleared by units. Each unit clears locations adjacent to those within one turn's move (ignoring zones of control and enemy units).
|
||||
|
||||
Normally you can undo a unit's movement, as long as an event with a randomized result has not occurred, such as combat or recruitment (as most units receive random traits when recruited). Exploring hidden terrain by clearing Shroud or Fog will also prevent undos to a previous state. You may wish to activate 'delay shroud updates' in the actions menu. This will prevent units from clearing Shroud or Fog until the next randomized event or a manual update via 'update shroud now' (or the end of your turn) and thereby perserve your ability to undo movement."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=combat
|
||||
title= _ "Combat"
|
||||
|
@ -231,6 +246,7 @@ Each strike which hits causes a base amount of damage depending on the attack ty
|
|||
|
||||
A few units have special <ref>dst='..abilities_section' text='abilities'</ref> which affect damage dealt in combat. The most common of these is <ref>dst='weaponspecial_charge' text='Charge'</ref>, which doubles the damage dealt by both attacker and defender when the unit with Charge attacks."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
[topic]
|
||||
id=damage_types_and_resistance
|
||||
|
@ -244,6 +260,7 @@ For example, Skeletons are highly resistant to Blade and Pierce damage, but are
|
|||
If a strike is determined to hit, it will always do at least 1 point of damage. This applies even if the defender has 100% resistance to the damage type."
|
||||
[/topic]
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=time_of_day
|
||||
title= _ "Time of Day"
|
||||
|
@ -262,7 +279,9 @@ The current time of day can be observed under the minimap in the status pane. Fo
|
|||
" + "
|
||||
<img>src=misc/schedule-underground.png align=right float=yes</img>" + _"Keep in mind that some scenarios take place underground, where it is perpetually night!"
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=experience_and_advancement
|
||||
title= _ "Experience and Advancement"
|
||||
|
@ -272,7 +291,9 @@ Units have a certain amount of experience required to advance (this is 20% less
|
|||
|
||||
While most units have three levels, not all do. Occasional units (such as <ref>dst='unit_Mage' text='Magi'</ref>) may have four. Once a unit has reached its maximum level, it may have an After Maximum Level Advancement (AMLA) available to it. The AMLA will modify the unit each time the unit reaches the experience goal, but the unit will remain the same level. The typical AMLA effect is for the unit to raise the maximum HP by 3 and full-heal it. The first AMLA will normally be reached with 150 XP gained (120 XP for intelligent units). However, gaining an AMLA becomes progressively harder for each AMLA the unit receives, and so it is usually more useful to try to advance your lower level units."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=healing
|
||||
title= _ "Healing"
|
||||
|
@ -286,7 +307,9 @@ Curing units: Units with the <ref>dst='ability_cures' text='Cures'</ref> ability
|
|||
|
||||
Resting can be combined with other forms of healing, but villages, regeneration, healing and curing cannot combine with each other: the best option will be used. Finally, units heal fully between scenarios."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=income_and_upkeep
|
||||
title= _ "Income and Upkeep"
|
||||
|
@ -299,6 +322,7 @@ Upkeep is also fairly simple. Each unit requires an amount of Upkeep equal to it
|
|||
Upkeep costs are subtracted from your Income, so in the case of twelve levels of units and ten villages, your resultant Income would be 10 gold per turn." + _"
|
||||
There are two important exceptions to Upkeep: units with the Loyal trait and leaders never incur upkeep. Units you begin the scenario with (such as Delfador), or units who join you during a scenario (such as the Horseman in the second scenario of Heir to the Throne) will usually have the Loyal trait. The unit you are playing (such as Konrad) will almost always be a leader."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
[topic]
|
||||
id=wrap_up
|
||||
|
@ -318,6 +342,7 @@ There are two important exceptions to Upkeep: units with the Loyal trait and lea
|
|||
text="{COPYING.txt}"
|
||||
[/topic]
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=..traits_section
|
||||
title= _ "Traits"
|
||||
|
@ -330,6 +355,7 @@ Other traits that may be assigned to units are <ref>dst='traits_dextrous' text='
|
|||
|
||||
"
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
[topic]
|
||||
id=traits_intelligent
|
||||
|
@ -418,6 +444,7 @@ Healthy units have 1 HP plus 1 HP per level more than usual and rest heal the us
|
|||
generator="contents:terrains"
|
||||
[/topic]
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_flat
|
||||
title= _ "Flat"
|
||||
|
@ -427,7 +454,9 @@ Healthy units have 1 HP plus 1 HP per level more than usual and rest heal the us
|
|||
|
||||
Most units have defense of 30 to 40% on grassland."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_road
|
||||
title= _ "Road"
|
||||
|
@ -435,7 +464,9 @@ Most units have defense of 30 to 40% on grassland."
|
|||
|
||||
" + _ "Roads are beaten paths of dirt, formed by many travelers passing over them. As far as gameplay is concerned, Roads behave as <ref>dst='terrain_flat' text='Flat'</ref> terrain."
|
||||
[/topic]
|
||||
#wmllint: markcheck ofn
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_forest
|
||||
title= _ "Forest"
|
||||
|
@ -447,7 +478,9 @@ Most units have 50% defense in forests, but cavalry are limited to 30%. Elves, o
|
|||
|
||||
" + "<img>src=terrain/forest/great-tree1.png align=middle box=no</img>"
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_hills
|
||||
title= _ "Hills"
|
||||
|
@ -457,7 +490,9 @@ Most units have 50% defense in forests, but cavalry are limited to 30%. Elves, o
|
|||
|
||||
Most units have about 50% defense in hills, whereas cavalry are limited to 40%. Dwarves enjoy 60% defense in hills."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_mountains
|
||||
title= _ "Mountains"
|
||||
|
@ -467,7 +502,9 @@ Most units have about 50% defense in hills, whereas cavalry are limited to 40%.
|
|||
|
||||
Most units receive about 60% defense in mountains, whereas Dwarves enjoy 70%."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_swamp_water
|
||||
title= _ "Swamp"
|
||||
|
@ -477,7 +514,9 @@ Most units receive about 60% defense in mountains, whereas Dwarves enjoy 70%."
|
|||
|
||||
Most units make do with 30% defense in swamps. Mermen, Naga, and Saurians all generally enjoy 60%."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_shallow_water
|
||||
title= _ "Shallow Water"
|
||||
|
@ -487,7 +526,9 @@ Most units make do with 30% defense in swamps. Mermen, Naga, and Saurians all ge
|
|||
|
||||
Most units make do with 20 to 30% defense in shallow water, whereas both Naga and Mermen enjoy 60%."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_deep_water
|
||||
title= _ "Deep Water"
|
||||
|
@ -497,7 +538,9 @@ Most units make do with 20 to 30% defense in shallow water, whereas both Naga an
|
|||
|
||||
Mermen and Naga both receive 50% defense in deep water, with full movement."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_frozen
|
||||
title= _ "Frozen"
|
||||
|
@ -507,7 +550,9 @@ Mermen and Naga both receive 50% defense in deep water, with full movement."
|
|||
|
||||
Most units have 20 to 40% defense in frozen terrain."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_castle
|
||||
title= _ "Castle"
|
||||
|
@ -519,7 +564,9 @@ Most units have about 60% defense in a castle.
|
|||
|
||||
" + "<img>src=terrain/castle/swamp-ruin-tile.png align=left box=no</img> <img>src=terrain/castle/ruin-tile.png align=middle box=no</img> <img>src=terrain/castle/sunken-ruin-tile.png align=right box=no</img>"
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_sand
|
||||
title= _ "Sand"
|
||||
|
@ -529,7 +576,9 @@ Most units have about 60% defense in a castle.
|
|||
|
||||
Most units receive 20 to 40% defense in Sand."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_desert
|
||||
title= _ "Desert"
|
||||
|
@ -537,7 +586,9 @@ Most units receive 20 to 40% defense in Sand."
|
|||
|
||||
" + _ "Deserts have a somewhat different composition than small sand pits or beaches, however for gameplay purposes they are identical. See <ref>dst='terrain_sand' text='Sand'</ref>."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_cave
|
||||
title= _ "Cave"
|
||||
|
@ -547,7 +598,9 @@ Most units receive 20 to 40% defense in Sand."
|
|||
|
||||
Most units receive 20 to 40% defense in Caves, whereas dwarves have 50%."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_rockbound_cave
|
||||
title= _ "Rockbound Cave"
|
||||
|
@ -557,7 +610,9 @@ Most units receive 20 to 40% defense in Caves, whereas dwarves have 50%."
|
|||
|
||||
Most units have about 50% defense in rocky caves, whereas cavalry are limited to 40%. Dwarves enjoy 60% defense in Rockbound caves."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_illuminated_cave
|
||||
title= _ "Illuminated Cave"
|
||||
|
@ -565,7 +620,9 @@ Most units have about 50% defense in rocky caves, whereas cavalry are limited to
|
|||
|
||||
" + _ "Rare patches of the underground world are illuminated by light from the surface shining down into the gloomy darkness. This provides an attack bonus for lawful units and removes the attack bonus from chaotic units. In all other regards this terrain is functionally identical to normal cave terrains."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_fungus
|
||||
title= _ "Mushroom Grove"
|
||||
|
@ -575,7 +632,9 @@ Most units have about 50% defense in rocky caves, whereas cavalry are limited to
|
|||
|
||||
Most units receive 50% to 60% defense in mushroom groves, whereas cavalry receive only 20%."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_village
|
||||
title= _ "Village"
|
||||
|
@ -589,7 +648,9 @@ Most units have 50 to 60% defense in villages, whereas cavalry receive only 40%.
|
|||
|
||||
" + "<img>src=terrain/village/human-city-tile.png align=left box=no</img> <img>src=terrain/village/hut-hills-tile.png align=middle box=no</img> <img>src=terrain/village/cave-tile.png align=right box=no</img>"
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_water_village
|
||||
title= _ "Submerged Village"
|
||||
|
@ -599,7 +660,9 @@ Most units have 50 to 60% defense in villages, whereas cavalry receive only 40%.
|
|||
|
||||
Merfolk and Nagas have 60% defense in submerged villages, whereas land based units usually have a low defence."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_unwalkable
|
||||
title= _ "Unwalkable"
|
||||
|
@ -607,7 +670,9 @@ Merfolk and Nagas have 60% defense in submerged villages, whereas land based uni
|
|||
|
||||
" + _ "Unwalkable terrain covers any chasm or gorge which, as the name implies, cannot be crossed simply by walking. Chasms are noted for sheer walls which would take days to traverse. As far as gameplay is concerned, only units capable of flying can cross this terrain."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_lava
|
||||
title= _ "Lava"
|
||||
|
@ -615,7 +680,9 @@ Merfolk and Nagas have 60% defense in submerged villages, whereas land based uni
|
|||
|
||||
" + _ "The dangers inherent in trying to walk on lava are fairly obvious. As far as movement is concerned, lava is equivalent to <ref>dst='terrain_unwalkable' text='Unwalkable'</ref> terrain, and can only be crossed by those units capable of flying a considerable distance above it. The molten magma also produces a substantial glow, illuminating the area immediately above it. This provides an attack bonus for lawful units and removes the attack bonus from chaotic units."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_ford
|
||||
title= _ "River Ford"
|
||||
|
@ -623,7 +690,9 @@ Merfolk and Nagas have 60% defense in submerged villages, whereas land based uni
|
|||
|
||||
" + _ "When a river happens to be extremely shallow, passing over it is a trivial matter for land based units. Moreover, any creature best adapted to swimming has full mobility even at such places in the river. As far as gameplay is concerned, a river ford is treated as either grassland or shallow water, choosing whichever one offers the best defensive and movement bonuses for the unit on it."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_bridge
|
||||
title= _ "Bridge"
|
||||
|
@ -633,7 +702,9 @@ Merfolk and Nagas have 60% defense in submerged villages, whereas land based uni
|
|||
|
||||
For those who go by land or sea, a bridge is the best of both worlds - for gameplay purposes, it is treated either as grassland or the underlying water, whichever offers the best movement and defensive bonuses for the unit occupying the bridge hex. Note that a swimming unit and a land unit are not capable of occupying a bridge hex at the same time."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=terrain_impassable
|
||||
title= _ "Impassable"
|
||||
|
@ -641,13 +712,16 @@ For those who go by land or sea, a bridge is the best of both worlds - for gamep
|
|||
|
||||
" + _ "Obstacles that not even the most determined traveler may overcome include solid walls of stone and mountains so tall and steep that they are constantly wreathed in cloud. Even flying creatures cannot navigate the jagged peaks at such rarified heights, and not even the fiercest troll can smash through thick walls of stone."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=..commands
|
||||
title= _ "Commands"
|
||||
generator="contents:commands"
|
||||
[/topic]
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=general_commands
|
||||
title= _ "General commands"
|
||||
|
@ -684,7 +758,9 @@ Save the game (without prompting).
|
|||
Save the game and quit the scenario (without prompting)."
|
||||
#wmllint: display off
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=mp_commands
|
||||
title= _ "Multiplayer commands"
|
||||
|
@ -703,7 +779,9 @@ Mute a specific observer. If no username is supplied the muted usernames are dis
|
|||
" + "<header>text=':muteall'</header>" + _"
|
||||
Toggle muting/silencing of all observers on/off."
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
|
||||
#wmllint: markcheck off
|
||||
[topic]
|
||||
id=debug_commands
|
||||
title= _ "Debug mode commands"
|
||||
|
@ -728,4 +806,5 @@ Manually fire the specified event.
|
|||
" + "<header>text=':unit <key=value>'</header>" + _"
|
||||
Modifies the specified property of the selected unit. Example: :unit hitpoints=100"
|
||||
[/topic]
|
||||
#wmllint: markcheck on
|
||||
[/help]
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
|
||||
# ! in comments is used for generating HTML documentation, ignore it otherwise.
|
||||
|
||||
#wmllint: markcheck off
|
||||
#define DEPRECATE MACRO_NAME VERSION_NAME
|
||||
# Tag macros for removal, the VERSION_NAME argument is the
|
||||
# release where the message is shown the first time.
|
||||
|
@ -11,3 +12,4 @@
|
|||
message="Macro '" + {MACRO_NAME} + "' is scheduled for removal in Wesnoth " + {VERSION_NAME} + "."
|
||||
[/deprecated_message]
|
||||
#enddef
|
||||
#wmllint: markcheck on
|
||||
|
|
|
@ -287,7 +287,7 @@
|
|||
[label]
|
||||
x={X}
|
||||
y={Y}
|
||||
text=""
|
||||
text="" # wmllint: ignore
|
||||
[/label]
|
||||
#enddef
|
||||
|
||||
|
|
|
@ -257,7 +257,6 @@
|
|||
image=items/potion-yellow.png
|
||||
duration=level
|
||||
description= _ "Poison is seeping through the veins of this unit at this very moment."
|
||||
cannot_use_message=NONE
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
|
@ -334,7 +333,6 @@
|
|||
image=items/potion-red.png
|
||||
duration=level
|
||||
description= _ "Strength is given to the drinker."
|
||||
cannot_use_message=NONE
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
|
@ -378,7 +376,6 @@
|
|||
image=items/potion-blue.png
|
||||
duration=level
|
||||
description= _ "This poor unit drank something really bad."
|
||||
cannot_use_message=NONE
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
|
@ -416,7 +413,6 @@
|
|||
image=items/ring-red.png
|
||||
duration=forever
|
||||
description= _ "This ring will heal the bearer a little each turn."
|
||||
cannot_use_message=NONE
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
|
@ -456,7 +452,6 @@
|
|||
image=items/ring-brown.png
|
||||
duration=forever
|
||||
description= _ "The bearer of this ring is slowed."
|
||||
cannot_use_message=NONE
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
|
@ -512,6 +507,7 @@
|
|||
[/event]
|
||||
#enddef
|
||||
|
||||
#wmllint: markcheck off
|
||||
#define OBJ_TRIDENT_STORM X Y ID
|
||||
{PICKUPPABLE_ITEM {ID} {X} {Y} race=merman items/storm-trident.png _"Should $unit.name pick up the trident?" _"Only the mermen can use this item!" (
|
||||
[object]
|
||||
|
@ -566,3 +562,4 @@
|
|||
[/object]
|
||||
)}
|
||||
#enddef
|
||||
#wmllint: markcheck on
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
male_name= _ "race^Bat"
|
||||
female_name= _ "race+female^Bat"
|
||||
plural_name= _ "race^Bats"
|
||||
description= ""
|
||||
description= _"" # wmllint: ignore
|
||||
num_traits=2
|
||||
[/race]
|
||||
|
||||
|
@ -103,7 +103,7 @@ Elves spend much of their time honing their talents and skills. Those not adept
|
|||
male_name= _ "race^Goblin"
|
||||
female_name= _ "race+female^Goblin"
|
||||
plural_name= _ "race^Goblins"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=1
|
||||
ignore_global_traits=yes
|
||||
{TRAIT_WEAK}
|
||||
|
@ -117,7 +117,7 @@ Elves spend much of their time honing their talents and skills. Those not adept
|
|||
male_name= _ "race^Gryphon"
|
||||
female_name= _ "race+female^Gryphon"
|
||||
plural_name= _ "race^Gryphons"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=2
|
||||
{GRYPHON_NAMES}
|
||||
[/race]
|
||||
|
@ -143,7 +143,7 @@ The eastern provinces of Wesnoth, known as the Clan Homelands, have a geography
|
|||
male_name= _ "race^Saurian"
|
||||
female_name= _ "race+female^Saurian"
|
||||
plural_name= _ "race^Saurians"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=2
|
||||
#Tentative list of fricative heavy lizard names
|
||||
{LIZARD_NAMES}
|
||||
|
@ -153,7 +153,7 @@ The eastern provinces of Wesnoth, known as the Clan Homelands, have a geography
|
|||
id=mechanical
|
||||
name= _ "race^Mechanical"
|
||||
plural_name= _ "race+plural^Mechanical"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=1
|
||||
ignore_global_traits=yes
|
||||
{TRAIT_MECHANICAL}
|
||||
|
@ -164,7 +164,7 @@ The eastern provinces of Wesnoth, known as the Clan Homelands, have a geography
|
|||
male_name= _ "race^Merman"
|
||||
female_name= _ "race^Mermaid"
|
||||
plural_name= _ "race^Mermen"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=2
|
||||
{MERMAN_NAMES}
|
||||
[/race]
|
||||
|
@ -173,7 +173,7 @@ The eastern provinces of Wesnoth, known as the Clan Homelands, have a geography
|
|||
id=monster
|
||||
name= _ "race^Monster"
|
||||
plural_name= _ "race^Monsters"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=0
|
||||
[/race]
|
||||
|
||||
|
@ -182,7 +182,7 @@ The eastern provinces of Wesnoth, known as the Clan Homelands, have a geography
|
|||
male_name= _ "race^Naga"
|
||||
female_name= _ "race^Nagani"
|
||||
plural_name= _ "race^Nagas"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=2
|
||||
{NAGA_NAMES}
|
||||
[/race]
|
||||
|
@ -192,7 +192,7 @@ The eastern provinces of Wesnoth, known as the Clan Homelands, have a geography
|
|||
male_name= _ "race^Ogre"
|
||||
female_name= _ "race+female^Ogre"
|
||||
plural_name= _ "race^Ogres"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=2
|
||||
{OGRE_NAMES}
|
||||
[/race]
|
||||
|
@ -256,7 +256,7 @@ While undead lords arrived on the Great Continent in considerable numbers only i
|
|||
id=wolf
|
||||
name= _ "race^Wolf"
|
||||
plural_name= _ "race^Wolves"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=2
|
||||
{ORCISH_NAMES}
|
||||
[/race]
|
||||
|
@ -265,7 +265,7 @@ While undead lords arrived on the Great Continent in considerable numbers only i
|
|||
id=wose
|
||||
name= _ "race^Wose"
|
||||
plural_name= _ "race^Woses"
|
||||
description= ""
|
||||
description= "" # wmllint: ignore
|
||||
num_traits=0
|
||||
markov_chain_size=3
|
||||
{WOSE_NAMES}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
advances_to=null
|
||||
cost=1
|
||||
usage=scout
|
||||
description=""
|
||||
description=_ "Dummy unit for clearing fog hexes."
|
||||
hide_help=true
|
||||
do_not_list=yes
|
||||
[/unit_type]
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
undead_variation=mounted
|
||||
cost=17
|
||||
usage=scout
|
||||
description="Wolves are aggressive animals that hunt in packs. Although weak individually, a wolf pack can kill even the strongest man in minutes."
|
||||
description=_ "Wolves are aggressive animals that hunt in packs. Although weak individually, a wolf pack can kill even the strongest man in minutes."
|
||||
die_sound=wolf-die.wav
|
||||
[movement_anim]
|
||||
[frame]
|
||||
|
|
|
@ -77,23 +77,23 @@
|
|||
{SULLA_STATUE (Great Mage) 18 15 se (_"Statue of Sulla")}
|
||||
[+unit]
|
||||
gender=female
|
||||
id=_ "A stone-carved likeness of Sulla the Great, also known as Sulla the Just, Sulla the Tyrant, Empress of the Sinking Tower, Lady of the Walking Glacier, Sulla the Incinerator, Sulla the Proud and Sulla the Righteous."
|
||||
description=_ "A stone-carved likeness of Sulla the Great, also known as Sulla the Just, Sulla the Tyrant, Empress of the Sinking Tower, Lady of the Walking Glacier, Sulla the Incinerator, Sulla the Proud and Sulla the Righteous."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 20 11 sw (_"Statue of Lhun-dup")}
|
||||
[+unit]
|
||||
id=_ "A stone-carved likeness of Lhun-dup, Servant of Sulla."
|
||||
description=_ "A stone-carved likeness of Lhun-dup, Servant of Sulla."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 23 15 sw (_"Statue of Ri-nzen")}
|
||||
[+unit]
|
||||
id=_ "A stone-carved likeness of Ri-nzen, Servant of Sulla."
|
||||
description=_ "A stone-carved likeness of Ri-nzen, Servant of Sulla."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 13 16 se (_"Statue of Ten-zin")}
|
||||
[+unit]
|
||||
id=_ "A stone-carved likeness of Ten-zin, Servant of Sulla."
|
||||
description=_ "A stone-carved likeness of Ten-zin, Servant of Sulla."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 16 19 se (_"Statue of Lo-bsang")}
|
||||
[+unit]
|
||||
id=_ "A stone-carved likeness of Lo-bsang, Servant of Sulla."
|
||||
description=_ "A stone-carved likeness of Lo-bsang, Servant of Sulla."
|
||||
[/unit]
|
||||
[/side]
|
||||
[/multiplayer]
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#define ANL_HELP_PEASANTS
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Peasants
|
||||
caption=_ "Peasants"
|
||||
image=units/human-peasants/peasant.png~TC(1,magenta)
|
||||
message= _ "Peasants are your workers. Depending on the terrain, right-clicking on a peasant allows you to terraform the landscape and/or build castles, mines, farms, villages and universities."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -22,7 +22,7 @@
|
|||
#define ANL_HELP_MAGES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Mages
|
||||
caption=_ "Mages"
|
||||
image=units/human-magi/mage.png~TC(1,magenta)
|
||||
message= _ "Mages are your wise men. They can study at universities, pursuing advances in mining, farming and recruitment."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -32,7 +32,7 @@
|
|||
#define ANL_HELP_FARMS
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Farms
|
||||
caption=_ "Farms"
|
||||
image="items/flower4.png"
|
||||
message= _ "Farms can only be planted on grassland. Move a peasant onto a farm and he will begin to automatically harvest the cash crop."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -42,7 +42,7 @@
|
|||
#define ANL_HELP_VILLAGES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Villages
|
||||
caption=_ "Villages"
|
||||
image="terrain/village/human-tile.png"
|
||||
message= _ "Villages can only be built on grassland. They provide income and healing as usual. Right-click on a peasant in a village and you can establish a university."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -52,7 +52,7 @@
|
|||
#define ANL_HELP_MINES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Mines
|
||||
caption=_ "Mines"
|
||||
image="terrain/village/human-hills-tile.png"
|
||||
message= _ "Mines can be built on hills or mountains. A peasant on a mine will automatically dig for gold at the start of your turn."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -62,7 +62,7 @@
|
|||
#define ANL_HELP_UNIVERSITIES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Universities
|
||||
caption=_ "Universities"
|
||||
image="terrain/village/elven-tile.png"
|
||||
message= _ "Any of the 'Elven' style villages represent universities. At the start of your turn, Mages in universities automatically add to the study progress of your chosen research target. Right-click on a mage in a university to change research target."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -72,7 +72,7 @@
|
|||
#define ANL_HELP_DIPLOMACY
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Diplomacy
|
||||
caption=_ "Diplomacy"
|
||||
image="terrain/village/elven-tile.png"
|
||||
message= _ "Right-clicking on your leader when in a univerity allows you to select special diplomatic options."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
|
@ -82,7 +82,7 @@
|
|||
#define ANL_HELP
|
||||
[set_menu_item]
|
||||
id=anl_help
|
||||
description="Help"
|
||||
description=_"Help"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
|
@ -98,7 +98,7 @@
|
|||
[message]
|
||||
speaker=narrator
|
||||
image=wesnoth-icon.png
|
||||
caption="A New Land - Help"
|
||||
caption=_ "A New Land - Help"
|
||||
message= _ "Select a topic."
|
||||
|
||||
[option]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#textdomain wesnoth-anl
|
||||
#define DONATE_FUNDS_OPTION TARGET_SIDE
|
||||
[option]
|
||||
message= "@$player_{TARGET_SIDE}.name"
|
||||
message= "@$player_{TARGET_SIDE}.name" # wmllint: ignore
|
||||
[show_if]
|
||||
{CONDITION leader.gold greater_than_equal_to 20}
|
||||
[have_unit]
|
||||
|
@ -132,7 +132,7 @@
|
|||
#define LEADER_OPTIONS
|
||||
[set_menu_item]
|
||||
id=anl_diplomacy
|
||||
description="Diplomacy"
|
||||
description=_ "Diplomacy"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
|
@ -184,18 +184,24 @@
|
|||
[/set_variable]
|
||||
[set_variable]
|
||||
name=diplo_msg[$side_i].farming
|
||||
# wmllint: markcheck off
|
||||
value="@" + _ "$player_name
|
||||
Share knowledge of agriculture"
|
||||
# wmllint: markcheck on
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name=diplo_msg[$side_i].mining
|
||||
# wmllint: markcheck off
|
||||
value="@" + _ "$player_name
|
||||
Share knowledge of mining"
|
||||
# wmllint: markcheck on
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name=diplo_msg[$side_i].warfare
|
||||
# wmllint: markcheck off
|
||||
value="@" + _ "$player_name
|
||||
Share knowledge of warfare"
|
||||
# wmllint: markcheck on
|
||||
[/set_variable]
|
||||
[clear_variable]
|
||||
name=player_name
|
||||
|
@ -211,7 +217,7 @@ Share knowledge of warfare"
|
|||
{CONDITION finished_options equals no}
|
||||
[do]
|
||||
[message]
|
||||
caption="Diplomatic Options"
|
||||
caption=_ "Diplomatic Options"
|
||||
speaker=unit
|
||||
#wmllint: display on
|
||||
message= _ "What shall I do?"
|
||||
|
@ -237,7 +243,7 @@ Give 20 gold to another player")}
|
|||
{CONDITION finished_suboptions equals no}
|
||||
[do]
|
||||
[message]
|
||||
caption="Diplomatic Options"
|
||||
caption=_ "Diplomatic Options"
|
||||
speaker=unit
|
||||
image=items/gold-coins-small.png
|
||||
message= _ "Who will you donate funds to?"
|
||||
|
@ -270,7 +276,7 @@ Help an ally with their research")}
|
|||
{CONDITION finished_suboptions equals no}
|
||||
[do]
|
||||
[message]
|
||||
caption="Diplomatic Options"
|
||||
caption=_ "Diplomatic Options"
|
||||
speaker=unit
|
||||
image=items/book4.png
|
||||
message= _ "Who will you share knowledge with?"
|
||||
|
@ -369,7 +375,7 @@ Negotiation Progress: $player_$side_number|.leader_option_2.progress|/$player_$s
|
|||
[then]
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Negotiation Complete"
|
||||
caption=_ "Negotiation Complete"
|
||||
image="images/portraits/James_Woo/dwarf-guard.png"
|
||||
#wmllint: display on
|
||||
message= _ "Our talks are complete - the Dwarves will gladly fight by your side. Which of our brethren do you want to recruit?"
|
||||
|
@ -391,7 +397,7 @@ Negotiation Progress: $player_$side_number|.leader_option_2.progress|/$player_$s
|
|||
[then]
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Negotiation Complete"
|
||||
caption=_ "Negotiation Complete"
|
||||
image="images/portraits/Kitty/elvish-high-lord.png"
|
||||
#wmllint: display on
|
||||
message= _ "Our talks are complete - the Elves shall aid you in this battle. Which our of kin do you wish to recruit?"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
[set_menu_item]
|
||||
id=anl_choose_new_recruit
|
||||
description="Choose New Recruit"
|
||||
description=_ "Choose New Recruit"
|
||||
[show_if]
|
||||
{CONDITION player_$side_number|.warfare.troop_available greater_than_equal_to 1}
|
||||
[have_unit]
|
||||
|
@ -30,7 +30,7 @@
|
|||
[command]
|
||||
[message]
|
||||
speaker=unit
|
||||
caption="Study Complete"
|
||||
caption=_ "Study Complete"
|
||||
#wmllint: display on
|
||||
message= _ "Which type of unit would you like to be able to recruit?"
|
||||
#wmllint: display off
|
||||
|
@ -51,7 +51,7 @@
|
|||
|
||||
[set_menu_item]
|
||||
id=anl_oversee_research
|
||||
description="Oversee Research"
|
||||
description=_ "Oversee Research"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
|
@ -90,7 +90,7 @@
|
|||
# wmlindent: start ignoring
|
||||
[message]
|
||||
speaker=unit
|
||||
caption="Research"
|
||||
caption=_ "Research"
|
||||
#wmllint: display on
|
||||
message= _ "We are currently studying $player_$side_number|.research.current_target|. To which end would you have our scholars devote their minds?
|
||||
|
||||
|
@ -205,7 +205,7 @@ Study Progress: $player_$side_number|.warfare.progress|/$player_$side_number|.wa
|
|||
{VARIABLE_OP player_$side_number|.farming.gold add 1}
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Study Complete"
|
||||
caption=_ "Study Complete"
|
||||
image="items/flower4.png"
|
||||
message= _ "$player_$side_number|.name|'s farms now produce $player_$side_number|.farming.gold gold."
|
||||
[/message]
|
||||
|
@ -222,7 +222,7 @@ Study Progress: $player_$side_number|.warfare.progress|/$player_$side_number|.wa
|
|||
{VARIABLE_OP player_$side_number|.mining.gold add 1}
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Study Complete"
|
||||
caption=_ "Study Complete"
|
||||
image="items/gold-coins-small.png"
|
||||
message= _ "$player_$side_number|.name|'s mines now produce $player_$side_number|.mining.gold gold."
|
||||
[/message]
|
||||
|
@ -238,7 +238,7 @@ Study Progress: $player_$side_number|.warfare.progress|/$player_$side_number|.wa
|
|||
[then]
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Study Complete"
|
||||
caption=_ "Study Complete"
|
||||
image="wesnoth-icon.png"
|
||||
message= _ "$player_$side_number|.name|, we have finished researching warfare. Right-click on a mage in a university to select a unit to recruit."
|
||||
[/message]
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#define WORKER_OPTIONS TYPES
|
||||
[set_menu_item]
|
||||
id=anl_get_to_work
|
||||
description="Get to Work!"
|
||||
description=_ "Get to Work!"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
|
@ -172,7 +172,7 @@ message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" ("@"+_"Chop Down Forest") ("
|
|||
{MODIFY_TERRAIN "Gg" $x1 $y1}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
text=1
|
||||
text=1 # wmllint: ignore
|
||||
red,green,blue=204,204,51
|
||||
[/unstore_unit]
|
||||
[/command]
|
||||
|
@ -348,7 +348,7 @@ message= {MENU_IMG_TXT2 "terrain/cave/floor.png" ("@"+_"Harvest Mushrooms") ("`"
|
|||
{MODIFY_TERRAIN "Uu" $x1 $y1}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
text=3
|
||||
text=3 # wmllint: ignore
|
||||
red,green,blue=204,204,51
|
||||
[/unstore_unit]
|
||||
[/command]
|
||||
|
|
|
@ -297,7 +297,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/turn]
|
||||
[gold]
|
||||
|
@ -307,7 +307,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/gold]
|
||||
[villages]
|
||||
|
@ -317,7 +317,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/villages]
|
||||
[num_units]
|
||||
|
@ -327,7 +327,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/num_units]
|
||||
[upkeep]
|
||||
|
@ -337,7 +337,7 @@
|
|||
rect="+4,=,+50,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/upkeep]
|
||||
[income]
|
||||
|
@ -347,7 +347,7 @@
|
|||
rect="+4,=,+40,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/income]
|
||||
|
||||
|
@ -739,7 +739,7 @@
|
|||
[add]
|
||||
[menu]
|
||||
id=zoom-in
|
||||
title="+"
|
||||
title="+" #wmllint: ignore
|
||||
font_size={DEFAULT_FONT320_SMALL}
|
||||
items=zoomin
|
||||
ref=top-panel
|
||||
|
@ -749,7 +749,7 @@
|
|||
[/menu]
|
||||
[menu]
|
||||
id=zoom-out
|
||||
title="-"
|
||||
title="-" #wmllint: ignore
|
||||
font_size={DEFAULT_FONT320_SMALL}
|
||||
items=zoomout
|
||||
rect="=+15,=,5,="
|
||||
|
|
|
@ -327,7 +327,7 @@
|
|||
rect="+4,=,+48,+16"
|
||||
xanchor=right
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/turn]
|
||||
[gold]
|
||||
|
@ -337,7 +337,7 @@
|
|||
rect="+4,=,+65,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/gold]
|
||||
[villages]
|
||||
|
@ -347,7 +347,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/villages]
|
||||
[num_units]
|
||||
|
@ -357,7 +357,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/num_units]
|
||||
[upkeep]
|
||||
|
@ -367,7 +367,7 @@
|
|||
rect="+4,=,+40,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/upkeep]
|
||||
[income]
|
||||
|
@ -377,7 +377,7 @@
|
|||
rect="+4,=,+40,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/income]
|
||||
|
||||
|
|
|
@ -264,7 +264,7 @@
|
|||
rect="=,+6,+110,+40"
|
||||
xanchor=right
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/editor2_tool_hint]
|
||||
|
||||
|
@ -284,7 +284,7 @@
|
|||
rect="+4,=,+55,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/villages]
|
||||
|
||||
|
|
|
@ -266,7 +266,7 @@
|
|||
rect="=+40,=+203,+65,+16"
|
||||
xanchor=right
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/turn]
|
||||
[gold]
|
||||
|
@ -276,7 +276,7 @@
|
|||
rect="+4,=+1,+75,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/gold]
|
||||
[villages]
|
||||
|
@ -286,7 +286,7 @@
|
|||
rect="+4,=+1,+65,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/villages]
|
||||
[num_units]
|
||||
|
@ -296,7 +296,7 @@
|
|||
rect="+4,=+1,+65,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/num_units]
|
||||
[upkeep]
|
||||
|
@ -306,7 +306,7 @@
|
|||
rect="+4,=+1,+60,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/upkeep]
|
||||
[income]
|
||||
|
@ -316,7 +316,7 @@
|
|||
rect="+4,=+1,+45,+16"
|
||||
xanchor=fixed
|
||||
yanchor=fixed
|
||||
prefix=
|
||||
prefix="" #wmllint: ignore
|
||||
prefix_literal=""
|
||||
[/income]
|
||||
|
||||
|
|
|
@ -243,6 +243,36 @@ unit_movetypes = []
|
|||
races = []
|
||||
unit_races = []
|
||||
|
||||
translatables = (\
|
||||
"abbrev",
|
||||
"cannot_use_message",
|
||||
"caption",
|
||||
"current_player",
|
||||
"description",
|
||||
"description_inactive",
|
||||
"difficulty_descriptions",
|
||||
"female_name_inactive",
|
||||
"female_names",
|
||||
"label",
|
||||
"male_names",
|
||||
"message",
|
||||
"name",
|
||||
"name_inactive",
|
||||
"note",
|
||||
"order",
|
||||
"plural_name",
|
||||
"prefix",
|
||||
"set_description",
|
||||
"story",
|
||||
"summary",
|
||||
"text",
|
||||
"title",
|
||||
"title2",
|
||||
"tooltip",
|
||||
"translator_comment",
|
||||
"user_team_name",
|
||||
)
|
||||
|
||||
def sanity_check(filename, lines):
|
||||
"Perform sanity and consistency checks on input lines."
|
||||
for i in range(len(lines)):
|
||||
|
@ -481,6 +511,8 @@ def sanity_check(filename, lines):
|
|||
ignoreable = False
|
||||
preamble_seen = False
|
||||
sentence_end = re.compile("(?<=[.!?;:]) +")
|
||||
markcheck = True
|
||||
translation_mark = re.compile(r'_ *"')
|
||||
for i in range(len(lines)):
|
||||
if '[' in lines[i]:
|
||||
preamble_seen = True
|
||||
|
@ -510,8 +542,10 @@ def sanity_check(filename, lines):
|
|||
continue
|
||||
elif "[/side]" in lines[i] or "[/unit]" in lines[i] or "[/recall]" in lines[i]:
|
||||
in_person = False
|
||||
if not in_scenario:
|
||||
continue
|
||||
if "wmllint: markcheck off" in lines[i]:
|
||||
markcheck = False
|
||||
if "wmllint: markcheck on" in lines[i]:
|
||||
markcheck = True
|
||||
m = re.search("# *wmllint: recognize +(.*)", lines[i])
|
||||
if m:
|
||||
present.append(string_strip(m.group(1)).strip())
|
||||
|
@ -521,7 +555,7 @@ def sanity_check(filename, lines):
|
|||
(key, prefix, value, comment) = parse_attribute(lines[i])
|
||||
if "wmllint: ignore" in comment:
|
||||
continue
|
||||
has_tr_mark = value.lstrip().startswith("_")
|
||||
has_tr_mark = translation_mark.search(value)
|
||||
if key == 'role':
|
||||
present.append(value)
|
||||
if has_tr_mark:
|
||||
|
@ -538,12 +572,14 @@ def sanity_check(filename, lines):
|
|||
# Check correctness of translation marks and descriptions
|
||||
if key.startswith("#"): # FIXME: parse_attribute is confused.
|
||||
pass
|
||||
elif key.startswith("{"):
|
||||
pass
|
||||
elif key == 'letter': # May be led with _s for void
|
||||
pass
|
||||
elif key in ('name', 'male_name', 'female_name'): # FIXME: check this someday
|
||||
pass
|
||||
elif key in ("message", "name", "description", "story", "note", "text", "summary", "caption", "label", "cannot_use_message", "set_description", "user_team_name") and not value.startswith("$"):
|
||||
if not has_tr_mark:
|
||||
elif key in translatables:
|
||||
if markcheck and not value.startswith("$") and not value.startswith("{") and not has_tr_mark:
|
||||
print '"%s", line %d: %s needs translation mark' \
|
||||
% (filename, i+1, key)
|
||||
lines[i] = lines[i].replace('=', "=_ ")
|
||||
|
@ -554,7 +590,7 @@ def sanity_check(filename, lines):
|
|||
if not stringfreeze:
|
||||
lines[i] = sentence_end.sub(" ", lines[i])
|
||||
else:
|
||||
if key == "id":
|
||||
if in_scenario and key == "id":
|
||||
if in_person:
|
||||
present.append(value)
|
||||
elif value in ('narrator', 'unit', 'second_unit') or (value and value[0] in ("$", "{")):
|
||||
|
@ -562,7 +598,7 @@ def sanity_check(filename, lines):
|
|||
elif preamble_seen and not ignore_id and not in_object and not value in present:
|
||||
print '"%s", line %d: unknown \'%s\' referred to by id' \
|
||||
% (filename, i+1, value)
|
||||
if has_tr_mark and not ("wmllint: ignore" in comment or "wmllint: noconvert" in comment):
|
||||
if markcheck and has_tr_mark and not ("wmllint: ignore" in comment or "wmllint: noconvert" in comment):
|
||||
print '"%s", line %d: %s should not have a translation mark' \
|
||||
% (filename, i+1, key)
|
||||
lines[i] = lines[i].replace("_", "", 1)
|
||||
|
|
Loading…
Add table
Reference in a new issue