trucoshi 12.1.0 → 12.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,806 @@
1
+ {
2
+ "id": "basic-truco-v1",
3
+ "title": "Aprende a jugar",
4
+ "botProfile": "ProfeTruco",
5
+ "botName": "Profe Truco",
6
+ "options": {
7
+ "maxPlayers": 2,
8
+ "matchPoint": 9,
9
+ "flor": true,
10
+ "satsPerPlayer": 0
11
+ },
12
+ "hands": [
13
+ {
14
+ "goal": "Entender el objetivo y la fuerza de las cartas.",
15
+ "cardsByPlayerIdx": {
16
+ "0": ["4c", "7e", "1e"],
17
+ "1": ["6b", "5o", "3c"]
18
+ },
19
+ "messages": [
20
+ {
21
+ "trigger": "hand_start",
22
+ "text": "El partido se gana llegando a 9 buenas. Primero llenas malas; despues empiezan buenas."
23
+ },
24
+ {
25
+ "trigger": "before_human_turn",
26
+ "roundIdx": 1,
27
+ "text": "Arranca con el ancho de espada. Es la mas fuerte y te deja bien parado."
28
+ },
29
+ {
30
+ "trigger": "after_human_action",
31
+ "roundIdx": 1,
32
+ "actionValue": "1e",
33
+ "text": "Ahora falta que responda el Profe."
34
+ },
35
+ {
36
+ "trigger": "after_bot_action",
37
+ "roundIdx": 1,
38
+ "actionValue": "3c",
39
+ "text": "{{roundResult}} El que gana la ronda sale en la siguiente."
40
+ },
41
+ {
42
+ "trigger": "before_human_turn",
43
+ "roundIdx": 2,
44
+ "state": "WAITING_PLAY",
45
+ "roundCardCount": 0,
46
+ "requiresHandCards": ["4c", "7e"],
47
+ "text": "{{previousRoundScore}} Ahora abris: proba con el 4 y guarda el 7."
48
+ },
49
+ {
50
+ "trigger": "before_human_turn",
51
+ "roundIdx": 2,
52
+ "state": "WAITING_PLAY",
53
+ "roundCardCount": 1,
54
+ "requiresRoundCards": ["6b"],
55
+ "requiresHandCards": ["7e"],
56
+ "text": "El Profe tiro el 6 de basto. El 7 de espada lo mata."
57
+ },
58
+ {
59
+ "trigger": "after_bot_action",
60
+ "roundIdx": 2,
61
+ "actionValue": "6b",
62
+ "text": "Orden de las mas fuertes: ancho de espada, ancho de basto, 7 de espada y 7 de oro."
63
+ },
64
+ {
65
+ "trigger": "before_human_turn",
66
+ "roundIdx": 3,
67
+ "state": "WAITING_PLAY",
68
+ "text": "{{previousRoundScore}} Esta tercera define la mano."
69
+ },
70
+ {
71
+ "trigger": "hand_end",
72
+ "text": "Base lista: cada mano se juega al mejor de 3 rondas."
73
+ }
74
+ ],
75
+ "botActions": [
76
+ {
77
+ "trigger": "before_bot_action",
78
+ "roundIdx": 1,
79
+ "state": "WAITING_PLAY",
80
+ "action": {
81
+ "type": "card",
82
+ "value": "3c"
83
+ }
84
+ },
85
+ {
86
+ "trigger": "before_bot_action",
87
+ "roundIdx": 2,
88
+ "state": "WAITING_PLAY",
89
+ "action": {
90
+ "type": "card",
91
+ "value": "6b"
92
+ }
93
+ },
94
+ {
95
+ "trigger": "before_bot_action",
96
+ "roundIdx": 3,
97
+ "state": "WAITING_PLAY",
98
+ "action": {
99
+ "type": "card",
100
+ "value": "5o"
101
+ }
102
+ }
103
+ ]
104
+ },
105
+ {
106
+ "goal": "Aprender a jugar bajo antes de gastar cartas fuertes.",
107
+ "cardsByPlayerIdx": {
108
+ "0": ["4b", "7o", "1b"],
109
+ "1": ["5c", "3o", "2e"]
110
+ },
111
+ "messages": [
112
+ {
113
+ "trigger": "hand_start",
114
+ "text": "No siempre conviene tirar lo mejor de entrada. Guardar cartas altas tambien gana manos."
115
+ },
116
+ {
117
+ "trigger": "before_bot_action",
118
+ "roundIdx": 1,
119
+ "state": "WAITING_PLAY",
120
+ "text": "Ahora sale el Profe. Mira que tira antes de gastar una carta fuerte."
121
+ },
122
+ {
123
+ "trigger": "before_human_turn",
124
+ "roundIdx": 1,
125
+ "text": "Podes tirar el 4 de basto y guardar las dos cartas fuertes."
126
+ },
127
+ {
128
+ "trigger": "after_bot_action",
129
+ "roundIdx": 2,
130
+ "actionValue": "3o",
131
+ "roundComplete": false,
132
+ "requiresHandCards": ["7o", "1b"],
133
+ "requiresRoundCards": ["3o"],
134
+ "text": "El Profe tiro un 3. El 7 de oro lo mata; no hace falta gastar el ancho."
135
+ },
136
+ {
137
+ "trigger": "before_human_turn",
138
+ "roundIdx": 2,
139
+ "state": "WAITING_PLAY",
140
+ "roundCardCount": 1,
141
+ "requiresHandCards": ["7o", "1b"],
142
+ "requiresRoundCards": ["3o"],
143
+ "text": "Tira el 7 de oro: es la menor carta que gana."
144
+ },
145
+ {
146
+ "trigger": "after_human_action",
147
+ "roundIdx": 2,
148
+ "actionValue": "7o",
149
+ "roundComplete": true,
150
+ "requiresRoundCards": ["3o", "7o"],
151
+ "text": "Bien: el 7 de oro mata al 3. Esa es la menor carta alta que alcanza."
152
+ },
153
+ {
154
+ "trigger": "before_human_turn",
155
+ "roundIdx": 3,
156
+ "text": "Tercera ronda: juga tu ultima carta. La mano se define con lo que queda."
157
+ }
158
+ ],
159
+ "botActions": [
160
+ {
161
+ "trigger": "before_bot_action",
162
+ "roundIdx": 1,
163
+ "state": "WAITING_PLAY",
164
+ "action": {
165
+ "type": "card",
166
+ "value": "5c"
167
+ }
168
+ },
169
+ {
170
+ "trigger": "before_bot_action",
171
+ "roundIdx": 2,
172
+ "state": "WAITING_PLAY",
173
+ "action": {
174
+ "type": "card",
175
+ "value": "3o"
176
+ }
177
+ },
178
+ {
179
+ "trigger": "before_bot_action",
180
+ "roundIdx": 3,
181
+ "state": "WAITING_PLAY",
182
+ "action": {
183
+ "type": "card",
184
+ "value": "2e"
185
+ }
186
+ }
187
+ ]
188
+ },
189
+ {
190
+ "goal": "Entender la parda y como se define una mano empatada.",
191
+ "cardsByPlayerIdx": {
192
+ "0": ["3e", "7b", "4o"],
193
+ "1": ["3o", "4c", "5b"]
194
+ },
195
+ "messages": [
196
+ {
197
+ "trigger": "hand_start",
198
+ "text": "Si dos cartas valen igual, la ronda queda parda. La siguiente pesa mucho mas."
199
+ },
200
+ {
201
+ "trigger": "before_human_turn",
202
+ "roundIdx": 1,
203
+ "text": "Juga el 3 de espada. Vale lo mismo que cualquier otro 3 para el truco."
204
+ },
205
+ {
206
+ "trigger": "after_human_action",
207
+ "roundIdx": 1,
208
+ "actionValue": "3e",
209
+ "text": "Ahora falta que responda el Profe. Si tira otro 3, queda parda."
210
+ },
211
+ {
212
+ "trigger": "after_bot_action",
213
+ "roundIdx": 1,
214
+ "actionValue": "3o",
215
+ "text": "{{roundResult}} Si fue parda, la segunda puede definir la mano."
216
+ },
217
+ {
218
+ "trigger": "hand_end",
219
+ "text": "La primera fue parda; ganaste la segunda y por eso te llevaste la mano."
220
+ }
221
+ ],
222
+ "botActions": [
223
+ {
224
+ "trigger": "before_bot_action",
225
+ "roundIdx": 1,
226
+ "state": "WAITING_PLAY",
227
+ "action": {
228
+ "type": "card",
229
+ "value": "3o"
230
+ }
231
+ },
232
+ {
233
+ "trigger": "before_bot_action",
234
+ "roundIdx": 2,
235
+ "state": "WAITING_PLAY",
236
+ "action": {
237
+ "type": "card",
238
+ "value": "4c"
239
+ }
240
+ },
241
+ {
242
+ "trigger": "before_bot_action",
243
+ "roundIdx": 3,
244
+ "state": "WAITING_PLAY",
245
+ "action": {
246
+ "type": "card",
247
+ "value": "5b"
248
+ }
249
+ }
250
+ ]
251
+ },
252
+ {
253
+ "goal": "Cantar Envido antes de jugar y comparar tantos.",
254
+ "cardsByPlayerIdx": {
255
+ "0": ["7c", "6c", "1o"],
256
+ "1": ["5b", "4b", "re"]
257
+ },
258
+ "messages": [
259
+ {
260
+ "trigger": "hand_start",
261
+ "text": "Tenes 33 de envido: 20 de base por copa, mas 7 y 6. Cantalo antes de jugar."
262
+ },
263
+ {
264
+ "trigger": "before_human_turn",
265
+ "roundIdx": 1,
266
+ "text": "Antes de tirar carta, toca ENVIDO. Tenes 33 y se canta antes de jugar las cartas."
267
+ },
268
+ {
269
+ "trigger": "before_bot_action",
270
+ "state": "WAITING_ENVIDO_ANSWER",
271
+ "text": "El Profe puede decir QUIERO o achicarse con NO QUIERO."
272
+ },
273
+ {
274
+ "trigger": "after_bot_action",
275
+ "actionValue": "QUIERO",
276
+ "text": "El Profe quiso. Ahora canta tus 33 para comparar los tantos."
277
+ },
278
+ {
279
+ "trigger": "before_human_turn",
280
+ "state": "WAITING_ENVIDO_POINTS_ANSWER",
281
+ "text": "Deci 33. El Profe necesita mas que eso para ganarte el envido."
282
+ },
283
+ {
284
+ "trigger": "after_human_action",
285
+ "state": "WAITING_ENVIDO_POINTS_ANSWER",
286
+ "actionValue": 33,
287
+ "text": "Bien: declaraste 33. Es el puntaje mas alto."
288
+ },
289
+ {
290
+ "trigger": "after_bot_action",
291
+ "actionValue": 29,
292
+ "text": "El Profe dijo 29. El tanto mas alto se lleva el envido; ahora segui con cartas."
293
+ },
294
+ {
295
+ "trigger": "before_human_turn",
296
+ "roundIdx": 2,
297
+ "state": "WAITING_PLAY",
298
+ "text": "Ahora cartas: el envido ya paso, no gastes una fuerte sin necesidad."
299
+ },
300
+ {
301
+ "trigger": "before_human_turn",
302
+ "roundIdx": 3,
303
+ "state": "WAITING_PLAY",
304
+ "text": "{{previousRoundScore}} Juga la carta que queda."
305
+ },
306
+ {
307
+ "trigger": "hand_end",
308
+ "text": "Clave: si tenes buen tanto, cantalo antes de mostrar cartas."
309
+ }
310
+ ],
311
+ "botActions": [
312
+ {
313
+ "trigger": "before_bot_action",
314
+ "state": "WAITING_ENVIDO_ANSWER",
315
+ "action": {
316
+ "type": "command",
317
+ "value": "QUIERO"
318
+ }
319
+ },
320
+ {
321
+ "trigger": "before_bot_action",
322
+ "state": "WAITING_ENVIDO_POINTS_ANSWER",
323
+ "action": {
324
+ "type": "command",
325
+ "value": 29
326
+ }
327
+ },
328
+ {
329
+ "trigger": "before_bot_action",
330
+ "roundIdx": 1,
331
+ "state": "WAITING_PLAY",
332
+ "action": {
333
+ "type": "card",
334
+ "value": "re"
335
+ }
336
+ },
337
+ {
338
+ "trigger": "before_bot_action",
339
+ "roundIdx": 2,
340
+ "state": "WAITING_PLAY",
341
+ "action": {
342
+ "type": "card",
343
+ "value": "5b"
344
+ }
345
+ },
346
+ {
347
+ "trigger": "before_bot_action",
348
+ "roundIdx": 3,
349
+ "state": "WAITING_PLAY",
350
+ "action": {
351
+ "type": "card",
352
+ "value": "4b"
353
+ }
354
+ }
355
+ ]
356
+ },
357
+ {
358
+ "goal": "Aprender cuando rechazar Envido con poco tanto.",
359
+ "cardsByPlayerIdx": {
360
+ "0": ["7e", "6b", "4c"],
361
+ "1": ["6o", "5o", "4b"]
362
+ },
363
+ "messages": [
364
+ {
365
+ "trigger": "hand_start",
366
+ "text": "Tambien hay que saber decir que no. Esta vez tenes poco envido: solo 7."
367
+ },
368
+ {
369
+ "trigger": "before_bot_action",
370
+ "roundIdx": 1,
371
+ "state": "WAITING_PLAY",
372
+ "text": "Como el Profe todavia no tiro carta, puede probar con ENVIDO."
373
+ },
374
+ {
375
+ "trigger": "after_bot_action",
376
+ "actionValue": "ENVIDO",
377
+ "text": "Con tan poco envido, NO QUIERO limita el dano: das 1 punto y la mano sigue."
378
+ },
379
+ {
380
+ "trigger": "before_human_turn",
381
+ "state": "WAITING_ENVIDO_ANSWER",
382
+ "text": "Toca NO QUIERO. No hace falta pelear todos los tantos."
383
+ },
384
+ {
385
+ "trigger": "after_human_action",
386
+ "state": "WAITING_ENVIDO_ANSWER",
387
+ "actionValue": "NO_QUIERO",
388
+ "text": "Bien. Diste 1 punto, pero evitaste jugar por 2 con un tanto muy bajo."
389
+ },
390
+ {
391
+ "trigger": "before_human_turn",
392
+ "roundIdx": 1,
393
+ "state": "WAITING_PLAY",
394
+ "text": "Con 7 de tanto, mejor no cantes. Tira el 7 de espada y juga la mano."
395
+ },
396
+ {
397
+ "trigger": "before_human_turn",
398
+ "roundIdx": 2,
399
+ "state": "WAITING_PLAY",
400
+ "text": "Una cosa es el envido y otra la mano: podes rechazar uno y ganar la otra."
401
+ },
402
+ {
403
+ "trigger": "before_human_turn",
404
+ "roundIdx": 3,
405
+ "state": "WAITING_PLAY",
406
+ "text": "Si llega a tercera, juga lo que queda. Lo importante fue no regalar el envido."
407
+ },
408
+ {
409
+ "trigger": "hand_end",
410
+ "text": "Recorda: no regalar puntos tambien es jugar bien."
411
+ }
412
+ ],
413
+ "botActions": [
414
+ {
415
+ "trigger": "before_bot_action",
416
+ "roundIdx": 1,
417
+ "state": "WAITING_PLAY",
418
+ "action": {
419
+ "type": "command",
420
+ "value": "ENVIDO"
421
+ }
422
+ },
423
+ {
424
+ "trigger": "before_bot_action",
425
+ "roundIdx": 1,
426
+ "state": "WAITING_PLAY",
427
+ "action": {
428
+ "type": "card",
429
+ "value": "6o"
430
+ }
431
+ },
432
+ {
433
+ "trigger": "before_bot_action",
434
+ "roundIdx": 2,
435
+ "state": "WAITING_PLAY",
436
+ "action": {
437
+ "type": "card",
438
+ "value": "5o"
439
+ }
440
+ },
441
+ {
442
+ "trigger": "before_bot_action",
443
+ "roundIdx": 3,
444
+ "state": "WAITING_PLAY",
445
+ "action": {
446
+ "type": "card",
447
+ "value": "4b"
448
+ }
449
+ }
450
+ ]
451
+ },
452
+ {
453
+ "goal": "Responder Truco y entender cuando aceptar o rechazar.",
454
+ "cardsByPlayerIdx": {
455
+ "0": ["7b", "3e", "1c"],
456
+ "1": ["4o", "2b", "1e"]
457
+ },
458
+ "messages": [
459
+ {
460
+ "trigger": "hand_start",
461
+ "text": "El Truco sube la apuesta de la mano. Si aceptas, podes ganar mas o perder mas."
462
+ },
463
+ {
464
+ "trigger": "before_human_turn",
465
+ "roundIdx": 1,
466
+ "roundCardCount": 1,
467
+ "requiresRoundCards": ["2b"],
468
+ "requiresHandCards": ["7b", "3e", "1c"],
469
+ "text": "El Profe tiro el 2 de basto. Perde barato con el 7 y guarda mejores."
470
+ },
471
+ {
472
+ "trigger": "after_human_action",
473
+ "roundIdx": 1,
474
+ "actionValue": "7b",
475
+ "roundComplete": true,
476
+ "requiresRoundCards": ["2b", "7b"],
477
+ "text": "El 2 de basto le gana al 7. Perdiste barato y guardaste fuerza."
478
+ },
479
+ {
480
+ "trigger": "before_bot_action",
481
+ "roundIdx": 2,
482
+ "state": "WAITING_PLAY",
483
+ "text": "Ojo: el Profe te va a apretar con TRUCO."
484
+ },
485
+ {
486
+ "trigger": "after_bot_action",
487
+ "actionValue": "TRUCO",
488
+ "text": "Con QUIERO jugas por 2 puntos. Con NO QUIERO entregas solo 1."
489
+ },
490
+ {
491
+ "trigger": "before_human_turn",
492
+ "state": "WAITING_FOR_TRUCO_ANSWER",
493
+ "text": "Aca podes decir QUIERO si ves chances de pelear la mano."
494
+ },
495
+ {
496
+ "trigger": "before_human_turn",
497
+ "roundIdx": 2,
498
+ "state": "WAITING_PLAY",
499
+ "roundCardCount": 1,
500
+ "requiresRoundCards": ["1e"],
501
+ "text": "El Profe tiro el ancho de espada. Ahora cuida lo que todavia sirve."
502
+ },
503
+ {
504
+ "trigger": "before_human_turn",
505
+ "roundIdx": 3,
506
+ "state": "WAITING_PLAY",
507
+ "text": "{{previousRoundScore}} Juga la carta que queda."
508
+ },
509
+ {
510
+ "trigger": "hand_end",
511
+ "text": "A veces se pierde un Truco querido. La clave es medir el riesgo."
512
+ }
513
+ ],
514
+ "botActions": [
515
+ {
516
+ "trigger": "before_bot_action",
517
+ "roundIdx": 1,
518
+ "state": "WAITING_PLAY",
519
+ "action": {
520
+ "type": "card",
521
+ "value": "2b"
522
+ }
523
+ },
524
+ {
525
+ "trigger": "before_bot_action",
526
+ "roundIdx": 2,
527
+ "state": "WAITING_PLAY",
528
+ "action": {
529
+ "type": "command",
530
+ "value": "TRUCO"
531
+ }
532
+ },
533
+ {
534
+ "trigger": "before_bot_action",
535
+ "roundIdx": 2,
536
+ "state": "WAITING_PLAY",
537
+ "action": {
538
+ "type": "card",
539
+ "value": "1e"
540
+ }
541
+ },
542
+ {
543
+ "trigger": "before_bot_action",
544
+ "roundIdx": 3,
545
+ "state": "WAITING_PLAY",
546
+ "action": {
547
+ "type": "card",
548
+ "value": "4o"
549
+ }
550
+ }
551
+ ]
552
+ },
553
+ {
554
+ "goal": "Subir una apuesta de Truco con Re-Truco.",
555
+ "cardsByPlayerIdx": {
556
+ "0": ["1b", "7o", "3e"],
557
+ "1": ["3c", "2c", "4e"]
558
+ },
559
+ "messages": [
560
+ {
561
+ "trigger": "hand_start",
562
+ "text": "Si te cantan Truco y tenes buena mano, tambien podes subir la apuesta."
563
+ },
564
+ {
565
+ "trigger": "before_human_turn",
566
+ "roundIdx": 1,
567
+ "state": "WAITING_PLAY",
568
+ "requiresHandCards": ["1b", "7o", "3e"],
569
+ "text": "Tenes buena mano. Abri con el ancho de basto y preparate para subir."
570
+ },
571
+ {
572
+ "trigger": "before_bot_action",
573
+ "roundIdx": 1,
574
+ "state": "WAITING_PLAY",
575
+ "text": "Despues de tu primera carta, el Profe va a cantar TRUCO."
576
+ },
577
+ {
578
+ "trigger": "after_bot_action",
579
+ "actionValue": "TRUCO",
580
+ "requiresHandCards": ["7o", "3e"],
581
+ "text": "Te quedan 7 de oro y 3 de espada: podes retrucar y jugar por 3."
582
+ },
583
+ {
584
+ "trigger": "before_human_turn",
585
+ "state": "WAITING_FOR_TRUCO_ANSWER",
586
+ "text": "Toca RE-TRUCO. Subis la apuesta y despues el Profe decide si acepta."
587
+ },
588
+ {
589
+ "trigger": "after_human_action",
590
+ "state": "WAITING_FOR_TRUCO_ANSWER",
591
+ "actionValue": "RE_TRUCO",
592
+ "text": "Buen retruco. Si el Profe quiere, se juega por 3; si no, cobras 2."
593
+ },
594
+ {
595
+ "trigger": "after_bot_action",
596
+ "actionValue": "QUIERO",
597
+ "requiresHandCards": ["7o", "3e"],
598
+ "text": "Aceptado. Todavia tenes 7 de oro y 3 de espada para pelear."
599
+ },
600
+ {
601
+ "trigger": "after_bot_action",
602
+ "actionValue": "3c",
603
+ "text": "{{roundResult}} Con la apuesta subida, cada ronda pesa mas."
604
+ },
605
+ {
606
+ "trigger": "before_human_turn",
607
+ "roundIdx": 2,
608
+ "state": "WAITING_PLAY",
609
+ "text": "En segunda, mira quien gano la primera y no regales la apuesta subida."
610
+ },
611
+ {
612
+ "trigger": "hand_end",
613
+ "text": "El TRUCO vale 2, RE-TRUCO 3 y VALE CUATRO 4."
614
+ }
615
+ ],
616
+ "botActions": [
617
+ {
618
+ "trigger": "before_bot_action",
619
+ "roundIdx": 1,
620
+ "state": "WAITING_PLAY",
621
+ "action": {
622
+ "type": "command",
623
+ "value": "TRUCO"
624
+ }
625
+ },
626
+ {
627
+ "trigger": "before_bot_action",
628
+ "state": "WAITING_FOR_TRUCO_ANSWER",
629
+ "action": {
630
+ "type": "command",
631
+ "value": "QUIERO"
632
+ }
633
+ },
634
+ {
635
+ "trigger": "before_bot_action",
636
+ "roundIdx": 1,
637
+ "state": "WAITING_PLAY",
638
+ "action": {
639
+ "type": "card",
640
+ "value": "3c"
641
+ }
642
+ },
643
+ {
644
+ "trigger": "before_bot_action",
645
+ "roundIdx": 2,
646
+ "state": "WAITING_PLAY",
647
+ "action": {
648
+ "type": "card",
649
+ "value": "2c"
650
+ }
651
+ },
652
+ {
653
+ "trigger": "before_bot_action",
654
+ "roundIdx": 3,
655
+ "state": "WAITING_PLAY",
656
+ "action": {
657
+ "type": "card",
658
+ "value": "4e"
659
+ }
660
+ }
661
+ ]
662
+ },
663
+ {
664
+ "goal": "Reconocer Flor y declararla con tres cartas del mismo palo.",
665
+ "cardsByPlayerIdx": {
666
+ "0": ["7o", "6o", "1o"],
667
+ "1": ["4e", "5b", "rc"]
668
+ },
669
+ "messages": [
670
+ {
671
+ "trigger": "hand_start",
672
+ "text": "Tres cartas del mismo palo son Flor. Tenes flor de oro: cantala antes de jugar."
673
+ },
674
+ {
675
+ "trigger": "before_human_turn",
676
+ "roundIdx": 1,
677
+ "text": "Toca FLOR antes de tirar carta. Tres del mismo palo se cantan enseguida."
678
+ },
679
+ {
680
+ "trigger": "after_human_action",
681
+ "roundIdx": 1,
682
+ "state": "WAITING_PLAY",
683
+ "actionValue": "FLOR",
684
+ "text": "Flor cantada. Ahora tira el 7 de oro para marcar la cancha."
685
+ },
686
+ {
687
+ "trigger": "before_human_turn",
688
+ "roundIdx": 2,
689
+ "state": "WAITING_PLAY",
690
+ "text": "Si cantaste Flor, ya sumo. Ahora la mano sigue con cartas."
691
+ },
692
+ {
693
+ "trigger": "before_human_turn",
694
+ "roundIdx": 3,
695
+ "state": "WAITING_PLAY",
696
+ "text": "{{previousRoundScore}} Juga la carta que queda."
697
+ },
698
+ {
699
+ "trigger": "hand_end",
700
+ "text": "Si ves tres cartas del mismo palo, primero mira si tenes Flor."
701
+ }
702
+ ],
703
+ "botActions": [
704
+ {
705
+ "trigger": "before_bot_action",
706
+ "roundIdx": 1,
707
+ "state": "WAITING_PLAY",
708
+ "action": {
709
+ "type": "card",
710
+ "value": "4e"
711
+ }
712
+ },
713
+ {
714
+ "trigger": "before_bot_action",
715
+ "roundIdx": 2,
716
+ "state": "WAITING_PLAY",
717
+ "action": {
718
+ "type": "card",
719
+ "value": "5b"
720
+ }
721
+ },
722
+ {
723
+ "trigger": "before_bot_action",
724
+ "roundIdx": 3,
725
+ "state": "WAITING_PLAY",
726
+ "action": {
727
+ "type": "card",
728
+ "value": "rc"
729
+ }
730
+ }
731
+ ]
732
+ },
733
+ {
734
+ "goal": "Aprender cuando rechazar Truco para perder menos.",
735
+ "cardsByPlayerIdx": {
736
+ "0": ["4c", "5o", "6b"],
737
+ "1": ["1e", "7e", "3b"]
738
+ },
739
+ "messages": [
740
+ {
741
+ "trigger": "hand_start",
742
+ "text": "Mano flojita: sin envido fuerte y sin cartas altas. No todo se pelea."
743
+ },
744
+ {
745
+ "trigger": "before_human_turn",
746
+ "roundIdx": 1,
747
+ "state": "WAITING_PLAY",
748
+ "text": "Arranca con el 4 de copa. La mano es debil, asi que no inviertas de mas."
749
+ },
750
+ {
751
+ "trigger": "before_bot_action",
752
+ "roundIdx": 1,
753
+ "state": "WAITING_PLAY",
754
+ "text": "El Profe ve debilidad y va a cantar TRUCO."
755
+ },
756
+ {
757
+ "trigger": "after_bot_action",
758
+ "actionValue": "TRUCO",
759
+ "text": "Con esta mano, rechazar el TRUCO esta bien: perdes poco y pasas a la proxima."
760
+ },
761
+ {
762
+ "trigger": "hand_end",
763
+ "text": "Frenar a tiempo tambien es jugar bien. Ahora intenta cerrar el partido sin ayuda."
764
+ }
765
+ ],
766
+ "botActions": [
767
+ {
768
+ "trigger": "before_bot_action",
769
+ "roundIdx": 1,
770
+ "state": "WAITING_PLAY",
771
+ "action": {
772
+ "type": "command",
773
+ "value": "TRUCO"
774
+ }
775
+ },
776
+ {
777
+ "trigger": "before_bot_action",
778
+ "roundIdx": 1,
779
+ "state": "WAITING_PLAY",
780
+ "action": {
781
+ "type": "card",
782
+ "value": "1e"
783
+ }
784
+ },
785
+ {
786
+ "trigger": "before_bot_action",
787
+ "roundIdx": 2,
788
+ "state": "WAITING_PLAY",
789
+ "action": {
790
+ "type": "card",
791
+ "value": "7e"
792
+ }
793
+ },
794
+ {
795
+ "trigger": "before_bot_action",
796
+ "roundIdx": 3,
797
+ "state": "WAITING_PLAY",
798
+ "action": {
799
+ "type": "card",
800
+ "value": "3b"
801
+ }
802
+ }
803
+ ]
804
+ }
805
+ ]
806
+ }