1#textdomain wesnoth-anl
2
3#define TARGET_RESEARCH_COMMAND TARGET_ID TARGET_NAME
4    [if]
5        [variable]
6            name=player_$side_number|.research.current_target
7            not_equals={TARGET_ID}
8        [/variable]
9        # only consume points if it is changed
10        [then]
11            [set_variable]
12                name=player_$side_number|.research.current_target
13                value={TARGET_ID}
14            [/set_variable]
15            [set_variable]
16                name=player_$side_number|.research.target_language_name
17                value={TARGET_NAME}
18            [/set_variable]
19
20            [set_variable]
21                name=unit.status.worked_this_turn
22                value=yes
23            [/set_variable]
24            [set_variable]
25                name=unit.moves
26                value=0
27            [/set_variable]
28
29            [unstore_unit]
30                variable=unit
31                find_vacant=no
32            [/unstore_unit]
33        [/then]
34    [/if]
35
36    [break][/break]
37#enddef
38
39#define RESEARCH_OPTIONS TYPES
40
41    # Picking new recruit
42
43    [set_menu_item]
44        id=anl_choose_new_recruit
45        description=_ "Choose New Recruit"
46        [show_if]
47            [variable]
48                name=player_$side_number|.warfare.troop_available
49                greater_than_equal_to=1
50            [/variable]
51
52            [have_unit]
53                side=$side_number
54                x,y=$x1,$y1
55                type={TYPES}
56                canrecruit=no
57                [not]
58                    status=worked_this_turn
59                [/not]
60            [/have_unit]
61        [/show_if]
62        [filter_location]
63            terrain="Gg^Ve,Gg^Vea"
64        [/filter_location]
65
66        [command]
67            [message]
68                speaker=unit
69                caption=_ "Study Complete"
70                message= _ "Which type of unit would you like to be able to recruit?"
71                #textdomain wesnoth-units
72                {PICK_RECRUIT_OPTION ("units/human-loyalists/spearman.png~TC($side_number|,magenta)") "Spearman" _"Spearman" troop_1}
73                {PICK_RECRUIT_OPTION ("units/human-loyalists/bowman.png~TC($side_number|,magenta)") "Bowman" _"Bowman" troop_2}
74                {PICK_RECRUIT_OPTION ("units/human-loyalists/fencer.png~TC($side_number|,magenta)") "Fencer" _"Fencer" troop_3}
75                {PICK_RECRUIT_OPTION ("units/human-loyalists/heavyinfantry.png~TC($side_number|,magenta)") "Heavy Infantryman" _"Heavy Infantryman" troop_4}
76                {PICK_RECRUIT_OPTION ("units/human-loyalists/sergeant.png~TC($side_number|,magenta)") "Sergeant" _"Sergeant" troop_5}
77                {PICK_RECRUIT_OPTION ("units/human-loyalists/cavalryman/cavalryman.png~TC($side_number|,magenta)") "Cavalryman" _"Cavalryman" troop_6}
78                {PICK_RECRUIT_OPTION ("units/human-loyalists/horseman/horseman.png~TC($side_number|,magenta)") "Horseman" _"Horseman" troop_7}
79                #textdomain wesnoth-anl
80            [/message]
81
82            [set_variable]
83                name=player_$side_number|.warfare.troop_available
84                sub=1
85            [/set_variable]
86        [/command]
87    [/set_menu_item]
88
89    # Changing Research Target
90
91    [set_menu_item]
92        id=anl_oversee_research
93        description=_ "Oversee Research"
94        [show_if]
95            [have_unit]
96                side=$side_number
97                x,y=$x1,$y1
98                type={TYPES}
99                canrecruit=no
100                [not]
101                    status=worked_this_turn
102                [/not]
103            [/have_unit]
104        [/show_if]
105        [filter_location]
106            terrain="Gg^Ve,Gg^Vea"
107        [/filter_location]
108
109        [command]
110            [store_unit]
111                [filter]
112                    x=$x1
113                    y=$y1
114                [/filter]
115                kill=no
116                variable=unit
117            [/store_unit]
118            [while]
119                [true][/true]
120
121                [do]
122                    [message]
123                        speaker=unit
124                        caption=_ "Research"
125                        # wmllint: display on
126                        message= _ "We are currently studying $player_$side_number|.research.target_language_name|. To which end would you have our scholars devote their minds?
127
128Our farms produce $player_$side_number|.farming.gold|g
129Our mines produce $player_$side_number|.mining.gold|g
130"
131                        # wmllint: display off
132
133                        [option]
134                            label= _ "Continue as before"
135                            [command]
136                                [break][/break]
137                            [/command]
138                        [/option]
139
140                        # Farming
141
142                        [option]
143                            image = "items/flower4.png"
144                            label = _ "<span color='green'>Agriculture</span>
145Farmers produce +1 gold
146Study Progress: $player_$side_number|.farming.progress|/$player_$side_number|.farming.target"
147                            [command]
148                                {TARGET_RESEARCH_COMMAND agriculture ( _ "agriculture")}
149                            [/command]
150                        [/option]
151
152                        # Mining
153
154                        [option]
155                            image = "items/gold-coins-small.png"
156                            label =  _ "<span color='green'>Mining</span>
157Miners produce +1 gold
158Study Progress: $player_$side_number|.mining.progress|/$player_$side_number|.mining.target"
159                            [command]
160                                {TARGET_RESEARCH_COMMAND mining ( _ "mining")}
161                            [/command]
162                        [/option]
163
164                        # Warfare
165
166                        [option]
167                            image = "wesnoth-icon.png~SCALE(72,72)"
168                            label =  _ "<span color='green'>Warfare</span>
169Allows you to recruit a new type of unit
170Study Progress: $player_$side_number|.warfare.progress|/$player_$side_number|.warfare.target"
171                            [show_if]
172                                [variable]
173                                    name=player_$side_number|.troops
174                                    less_than=7
175                                [/variable]
176                            [/show_if]
177
178                            [command]
179                                {TARGET_RESEARCH_COMMAND warfare ( _ "warfare")}
180                            [/command]
181                        [/option]
182                    [/message]
183                [/do]
184            [/while]
185        [/command]
186    [/set_menu_item]
187#enddef
188
189# Research Complete Messages
190# (These are shown at the start of a player's turn - they are triggered by an event included in the auto-studying macro)
191
192#define FARMING_RESEARCH_COMPLETE
193    [if]
194        [variable]
195            name=player_$side_number|.farming.progress
196            greater_than_equal_to=$player_$side_number|.farming.target
197        [/variable]
198
199        [then]
200            [set_variable]
201                name=player_$side_number|.farming.gold
202                add=1
203            [/set_variable]
204
205            [message]
206                speaker=narrator
207                caption= _ "Study Complete"
208                image=items/flower4.png
209                message= _ "$player_$side_number|.name|’s farms now produce $player_$side_number|.farming.gold gold."
210            [/message]
211
212            [set_variable]
213                name=player_$side_number|.farming.progress
214                sub=$player_$side_number|.farming.target
215            [/set_variable]
216            [set_variable]
217                name=player_$side_number|.farming.target
218                add=1
219            [/set_variable]
220        [/then]
221    [/if]
222#enddef
223
224#define MINING_RESEARCH_COMPLETE
225    [if]
226        [variable]
227            name=player_$side_number|.mining.progress
228            greater_than_equal_to=$player_$side_number|.mining.target
229        [/variable]
230
231        [then]
232            [set_variable]
233                name=player_$side_number|.mining.gold
234                add=1
235            [/set_variable]
236
237            [message]
238                speaker=narrator
239                caption= _ "Study Complete"
240                image=items/gold-coins-small.png
241                message= _ "$player_$side_number|.name|’s mines now produce $player_$side_number|.mining.gold gold."
242            [/message]
243
244            [set_variable]
245                name=player_$side_number|.mining.progress
246                sub=$player_$side_number|.mining.target
247            [/set_variable]
248            [set_variable]
249                name=player_$side_number|.mining.target
250                add=1
251            [/set_variable]
252        [/then]
253    [/if]
254#enddef
255
256#define WARFARE_RESEARCH_COMPLETE
257    [if]
258        [variable]
259            name=player_$side_number|.warfare.progress
260            greater_than_equal_to=$player_$side_number|.warfare.target
261        [/variable]
262
263        [then]
264            [message]
265                speaker=narrator
266                caption= _ "Study Complete"
267                image=wesnoth-icon.png
268                message= _ "$player_$side_number|.name|, we have finished researching warfare. Right-click on a mage in a university to select a unit to recruit."
269            [/message]
270
271            [set_variable]
272                name=player_$side_number|.warfare.troop_available
273                add=1
274            [/set_variable]
275            [set_variable]
276                name=player_$side_number|.warfare.progress
277                sub=$player_$side_number|.warfare.target
278            [/set_variable]
279            [set_variable]
280                name=player_$side_number|.warfare.target
281                add=1
282            [/set_variable]
283        [/then]
284    [/if]
285#enddef
286