@@ -226,6 +226,19 @@ proc setAsHome(dialog: var GameDialog) {.raises: [], tags: [RootEffect],
226
226
dialog = setQuestion (question = " Are you sure want to change your home base (it cost " &
227
227
$ price & " " & moneyName & " )?" , qType = homeBase, data = $ price)
228
228
229
+ proc askForEvents (dialog: var GameDialog ) {.raises : [], tags : [RootEffect ], contractual .} =
230
+ # # Ask for known events
231
+ # #
232
+ # # * dialog - the current in-game dialog displayed on the screen
233
+ # #
234
+ # # Returns the modified parameters dialog.
235
+ try :
236
+ askForEvents ()
237
+ dialog = none
238
+ closePopup ()
239
+ except :
240
+ dialog = setError (message = " Can't ask for events." )
241
+
229
242
proc showDockedCommands (baseIndex: ExtendedBasesRange ;
230
243
haveTrader: bool ; dialog: var GameDialog ) {.raises : [], tags : [RootEffect ],
231
244
contractual .} =
@@ -251,12 +264,8 @@ proc showDockedCommands(baseIndex: ExtendedBasesRange;
251
264
discard
252
265
if daysDifference (dateToCompare = skyBases[baseIndex].askedForEvents) > 6 :
253
266
labelButton (title = " Ask for events" ):
254
- try :
255
- askForEvents ()
256
- dialog = none
257
- closePopup ()
258
- except :
259
- dialog = setError (message = " Can't ask for events." )
267
+ askForEvents (dialog = dialog)
268
+ if dialog != none:
260
269
return
261
270
if not skyBases[baseIndex].askedForBases:
262
271
labelButton (title = " Ask for bases" ):
@@ -732,7 +741,9 @@ proc showShipOrders*(dialog: var GameDialog; state: var GameState) {.raises: [],
732
741
labelButton (title = " Trade" ):
733
742
discard
734
743
labelButton (title = " Ask for events" ):
735
- discard
744
+ askForEvents (dialog = dialog)
745
+ if dialog != none:
746
+ return
736
747
labelButton (title = " Ask for bases" ):
737
748
discard
738
749
labelButton (title = " Attack" ):
0 commit comments