mirror of
https://github.com/tstellar/bygfoot.git
synced 2025-06-05 21:49:20 +02:00
"Commentary improvements etc."
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1402,6 +1402,23 @@
|
|||||||
<property name="fill">True</property>
|
<property name="fill">True</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkButton" id="button_contract_cancel">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label">gtk-cancel</property>
|
||||||
|
<property name="use_stock">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="focus_on_click">True</property>
|
||||||
|
<signal name="clicked" handler="on_button_contract_cancel_clicked" last_modification_time="Tue, 05 Jul 2005 13:09:45 GMT"/>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="padding">0</property>
|
<property name="padding">0</property>
|
||||||
|
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2005-07-03 12:53+0200\n"
|
"POT-Creation-Date: 2005-07-05 20:34+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@@ -133,11 +133,11 @@ msgid ""
|
|||||||
"You are negotiating with %s about a new contract. Pay attention to what "
|
"You are negotiating with %s about a new contract. Pay attention to what "
|
||||||
"you're doing; if you don't come to terms with him within %d offers, he's "
|
"you're doing; if you don't come to terms with him within %d offers, he's "
|
||||||
"going to leave your team after his current contract expires (unless you sell "
|
"going to leave your team after his current contract expires (unless you sell "
|
||||||
"him).\n"
|
"him). You may only abort BEFORE making the first offer.\n"
|
||||||
"Your scout's recommendations are preset:"
|
"Your scout's recommendations are preset:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/callback_func.c:616
|
#: src/callback_func.c:620
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"You want to fire %s. Since his contract expires in %.1f years, he demands a "
|
"You want to fire %s. Since his contract expires in %.1f years, he demands a "
|
||||||
@@ -244,37 +244,37 @@ msgstr ""
|
|||||||
msgid "Contracts are disabled in this country definition."
|
msgid "Contracts are disabled in this country definition."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:790
|
#: src/cup.c:799
|
||||||
msgid " -- Second leg"
|
msgid " -- Second leg"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:792
|
#: src/cup.c:801
|
||||||
msgid " -- First leg"
|
msgid " -- First leg"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:795
|
#: src/cup.c:804
|
||||||
msgid " -- Replay matches"
|
msgid " -- Replay matches"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:807
|
#: src/cup.c:816
|
||||||
msgid "Round robin"
|
msgid "Round robin"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. A cup stage, e.g. Last 32 when there are only 32 teams left.
|
#. A cup stage, e.g. Last 32 when there are only 32 teams left.
|
||||||
#: src/cup.c:815
|
#: src/cup.c:824
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Last %d"
|
msgid "Last %d"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:818
|
#: src/cup.c:827
|
||||||
msgid "Final"
|
msgid "Final"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:821
|
#: src/cup.c:830
|
||||||
msgid "Semi-final"
|
msgid "Semi-final"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/cup.c:824
|
#: src/cup.c:833
|
||||||
msgid "Quarter-final"
|
msgid "Quarter-final"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -626,15 +626,15 @@ msgstr ""
|
|||||||
msgid "_Help"
|
msgid "_Help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/interface.c:806 src/misc2_interface.c:1027
|
#: src/interface.c:806 src/misc2_interface.c:1036
|
||||||
msgid "About"
|
msgid "About"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/interface.c:814 src/misc2_interface.c:1041
|
#: src/interface.c:814 src/misc2_interface.c:1050
|
||||||
msgid "Contributors"
|
msgid "Contributors"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/interface.c:822 src/misc2_interface.c:1067
|
#: src/interface.c:822 src/misc2_interface.c:1076
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -733,38 +733,38 @@ msgstr ""
|
|||||||
msgid "Next (W)"
|
msgid "Next (W)"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lg_commentary.c:522 src/team.c:500
|
#: src/lg_commentary.c:499 src/team.c:500
|
||||||
msgid "ALL OUT DEFEND"
|
msgid "ALL OUT DEFEND"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lg_commentary.c:525 src/team.c:502
|
#: src/lg_commentary.c:502 src/team.c:502
|
||||||
msgid "DEFEND"
|
msgid "DEFEND"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lg_commentary.c:528 src/team.c:504
|
#: src/lg_commentary.c:505 src/team.c:504
|
||||||
msgid "BALANCED"
|
msgid "BALANCED"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lg_commentary.c:531 src/team.c:506
|
#: src/lg_commentary.c:508 src/team.c:506
|
||||||
msgid "ATTACK"
|
msgid "ATTACK"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/lg_commentary.c:534 src/team.c:508
|
#: src/lg_commentary.c:511 src/team.c:508
|
||||||
msgid "ALL OUT ATTACK"
|
msgid "ALL OUT ATTACK"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Boost value.
|
#. Boost value.
|
||||||
#: src/lg_commentary.c:537 src/team.c:516
|
#: src/lg_commentary.c:514 src/team.c:516
|
||||||
msgid "ANTI"
|
msgid "ANTI"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Boost value.
|
#. Boost value.
|
||||||
#: src/lg_commentary.c:540 src/team.c:519
|
#: src/lg_commentary.c:517 src/team.c:519
|
||||||
msgid "OFF"
|
msgid "OFF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Boost value.
|
#. Boost value.
|
||||||
#: src/lg_commentary.c:543 src/team.c:522
|
#: src/lg_commentary.c:520 src/team.c:522
|
||||||
msgid "ON"
|
msgid "ON"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@@ -859,17 +859,17 @@ msgstr ""
|
|||||||
msgid "The structure value %d is invalid."
|
msgid "The structure value %d is invalid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_callback_func.c:154
|
#: src/misc2_callback_func.c:156
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s accepts your offer."
|
msgid "%s accepts your offer."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_callback_func.c:163
|
#: src/misc2_callback_func.c:165
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s rejects your offer. You may still make %d offers."
|
msgid "%s rejects your offer. You may still make %d offers."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_callback_func.c:170
|
#: src/misc2_callback_func.c:172
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"%s rejects your offer and won't negotiate with you anymore. You should sell "
|
"%s rejects your offer and won't negotiate with you anymore. You should sell "
|
||||||
@@ -884,11 +884,11 @@ msgstr ""
|
|||||||
msgid "Your offer will be considered next week."
|
msgid "Your offer will be considered next week."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_callbacks.c:269
|
#: src/misc2_callbacks.c:280
|
||||||
msgid "You can't play Bygfoot without users!"
|
msgid "You can't play Bygfoot without users!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_callbacks.c:274
|
#: src/misc2_callbacks.c:285
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Remove user %s from the game?"
|
msgid "Remove user %s from the game?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -937,63 +937,63 @@ msgid "OK"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:434 src/misc2_interface.c:521
|
#: src/misc2_interface.c:434 src/misc2_interface.c:521
|
||||||
#: src/misc2_interface.c:1074 src/misc2_interface.c:1169
|
#: src/misc2_interface.c:1083 src/misc2_interface.c:1178
|
||||||
#: src/misc_interface.c:263 src/misc_interface.c:1018
|
#: src/misc_interface.c:263 src/misc_interface.c:1018
|
||||||
#: src/options_interface.c:978
|
#: src/options_interface.c:978
|
||||||
msgid "Esc"
|
msgid "Esc"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:603
|
#: src/misc2_interface.c:604
|
||||||
msgid "1 year"
|
msgid "1 year"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:611
|
#: src/misc2_interface.c:612
|
||||||
msgid "3 years"
|
msgid "3 years"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:619
|
#: src/misc2_interface.c:620
|
||||||
msgid "4 years"
|
msgid "4 years"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:627
|
#: src/misc2_interface.c:628
|
||||||
msgid "2 years"
|
msgid "2 years"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:690
|
#: src/misc2_interface.c:691
|
||||||
msgid "Make offer"
|
msgid "Make offer"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:777
|
#: src/misc2_interface.c:786
|
||||||
msgid "Users -- click to remove"
|
msgid "Users -- click to remove"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:792
|
#: src/misc2_interface.c:801
|
||||||
msgid "Click on a user to remove him from the game."
|
msgid "Click on a user to remove him from the game."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:798
|
#: src/misc2_interface.c:807
|
||||||
msgid "Available teams"
|
msgid "Available teams"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:834 src/misc_interface.c:190
|
#: src/misc2_interface.c:843 src/misc_interface.c:190
|
||||||
msgid "Add user"
|
msgid "Add user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:910
|
#: src/misc2_interface.c:919
|
||||||
msgid "Debug"
|
msgid "Debug"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:917
|
#: src/misc2_interface.c:926
|
||||||
msgid ""
|
msgid ""
|
||||||
"Bygfoot debug window. If you got here by accident, CLOSE IMMEDIATELY "
|
"Bygfoot debug window. If you got here by accident, CLOSE IMMEDIATELY "
|
||||||
"(otherwise your CPU will be destroyed by overheating)."
|
"(otherwise your CPU will be destroyed by overheating)."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:1157 src/misc_interface.c:994
|
#: src/misc2_interface.c:1166 src/misc_interface.c:994
|
||||||
msgid "Return"
|
msgid "Return"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/misc2_interface.c:1186
|
#: src/misc2_interface.c:1195
|
||||||
msgid "Decide later"
|
msgid "Decide later"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
#define cup_id_new (counters[COUNT_CUP_ID]++)
|
#define cup_id_new (counters[COUNT_CUP_ID]++)
|
||||||
#define league_id_new (counters[COUNT_LEAGUE_ID]++)
|
#define league_id_new (counters[COUNT_LEAGUE_ID]++)
|
||||||
#define fixture_id_new (counters[COUNT_FIX_ID]++)
|
#define fixture_id_new (counters[COUNT_FIX_ID]++)
|
||||||
|
#define lg_commentary_id_new (counters[COUNT_LG_COMM_ID]++)
|
||||||
|
|
||||||
/** Convenience abbreviation. */
|
/** Convenience abbreviation. */
|
||||||
#define ligs country.leagues
|
#define ligs country.leagues
|
||||||
|
@@ -492,7 +492,7 @@ callback_offer_new_contract(gint idx)
|
|||||||
|
|
||||||
window_create(WINDOW_CONTRACT);
|
window_create(WINDOW_CONTRACT);
|
||||||
|
|
||||||
sprintf(buf, _("You are negotiating with %s about a new contract. Pay attention to what you're doing; if you don't come to terms with him within %d offers, he's going to leave your team after his current contract expires (unless you sell him).\nYour scout's recommendations are preset:"), pl->name->str,
|
sprintf(buf, _("You are negotiating with %s about a new contract. Pay attention to what you're doing; if you don't come to terms with him within %d offers, he's going to leave your team after his current contract expires (unless you sell him). You may only abort BEFORE making the first offer.\nYour scout's recommendations are preset:"), pl->name->str,
|
||||||
const_int("int_contract_max_offers"));
|
const_int("int_contract_max_offers"));
|
||||||
gtk_label_set_text(GTK_LABEL(lookup_widget(window.contract, "label_contract")), buf);
|
gtk_label_set_text(GTK_LABEL(lookup_widget(window.contract, "label_contract")), buf);
|
||||||
|
|
||||||
@@ -591,9 +591,13 @@ callback_show_player_list(gint type)
|
|||||||
break;
|
break;
|
||||||
case SHOW_NEXT_LEAGUE:
|
case SHOW_NEXT_LEAGUE:
|
||||||
stat1 = league_cup_get_next_clid(stat1);
|
stat1 = league_cup_get_next_clid(stat1);
|
||||||
|
while(stat1 >= ID_CUP_START && cup_from_clid(stat1)->teams->len == 0)
|
||||||
|
stat1 = league_cup_get_next_clid(stat1);
|
||||||
break;
|
break;
|
||||||
case SHOW_PREVIOUS_LEAGUE:
|
case SHOW_PREVIOUS_LEAGUE:
|
||||||
stat1 = league_cup_get_previous_clid(stat1);
|
stat1 = league_cup_get_previous_clid(stat1);
|
||||||
|
while(stat1 >= ID_CUP_START && cup_from_clid(stat1)->teams->len == 0)
|
||||||
|
stat1 = league_cup_get_previous_clid(stat1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -162,12 +162,14 @@ cup_get_choose_team_league_cup(const CupChooseTeam *ct,
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
for(i=0;i<ligs->len;i++)
|
for(i=0;i<ligs->len;i++)
|
||||||
|
{
|
||||||
if(strcmp(lig(i).sid->str, ct->sid->str) == 0)
|
if(strcmp(lig(i).sid->str, ct->sid->str) == 0)
|
||||||
{
|
{
|
||||||
*league = &lig(i);
|
*league = &lig(i);
|
||||||
*cup = NULL;
|
*cup = NULL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for(i=0;i<cps->len;i++)
|
for(i=0;i<cps->len;i++)
|
||||||
{
|
{
|
||||||
@@ -179,6 +181,13 @@ cup_get_choose_team_league_cup(const CupChooseTeam *ct,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(*league == NULL && *cup == NULL)
|
||||||
|
{
|
||||||
|
g_warning("cup_get_choose_team_league_cup: no league nor cup found for chooseteam %s",
|
||||||
|
ct->sid->str);
|
||||||
|
main_exit_program(EXIT_CHOOSE_TEAM_ERROR, NULL);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Return the pointers to the teams participating in the
|
/** Return the pointers to the teams participating in the
|
||||||
|
@@ -11,6 +11,7 @@ enum Counters
|
|||||||
COUNT_CUP_ID,
|
COUNT_CUP_ID,
|
||||||
COUNT_LEAGUE_ID,
|
COUNT_LEAGUE_ID,
|
||||||
COUNT_FIX_ID,
|
COUNT_FIX_ID,
|
||||||
|
COUNT_LG_COMM_ID,
|
||||||
COUNT_SHOW_DEBUG,
|
COUNT_SHOW_DEBUG,
|
||||||
COUNT_END
|
COUNT_END
|
||||||
};
|
};
|
||||||
@@ -89,7 +90,6 @@ enum Status0Value
|
|||||||
STATUS_SHOW_LEAGUE_RESULTS,
|
STATUS_SHOW_LEAGUE_RESULTS,
|
||||||
STATUS_SHOW_LEAGUE_STATS,
|
STATUS_SHOW_LEAGUE_STATS,
|
||||||
STATUS_SHOW_SEASON_HISTORY,
|
STATUS_SHOW_SEASON_HISTORY,
|
||||||
STATUS_CONTRACT_OFFER,
|
|
||||||
STATUS_SHOW_PLAYER_LIST,
|
STATUS_SHOW_PLAYER_LIST,
|
||||||
STATUS_FIRE_PLAYER,
|
STATUS_FIRE_PLAYER,
|
||||||
STATUS_USER_MANAGEMENT,
|
STATUS_USER_MANAGEMENT,
|
||||||
|
@@ -17,65 +17,8 @@
|
|||||||
|
|
||||||
/** The replacement strings for the live game commentary tokens. */
|
/** The replacement strings for the live game commentary tokens. */
|
||||||
gchar **token_rep;
|
gchar **token_rep;
|
||||||
|
/** Whether there was a commentary repetition rejection. */
|
||||||
/** Allocate memory for the token array and fill some tokens
|
gboolean repetition;
|
||||||
at the beginning of the live game that don't change later. */
|
|
||||||
void
|
|
||||||
lg_commentary_initialize(const Fixture *fix)
|
|
||||||
{
|
|
||||||
gint i;
|
|
||||||
gchar buf[SMALL];
|
|
||||||
|
|
||||||
token_rep = (gchar**)g_malloc(sizeof(gchar*) * lg_tokens.list->len);
|
|
||||||
|
|
||||||
for(i=0;i<lg_tokens.list->len;i++)
|
|
||||||
token_rep[i] = NULL;
|
|
||||||
|
|
||||||
token_rep[option_int("string_lg_commentary_token_team_home", &lg_tokens)] =
|
|
||||||
g_strdup(fix->teams[0]->name->str);
|
|
||||||
token_rep[option_int("string_lg_commentary_token_team_away", &lg_tokens)] =
|
|
||||||
g_strdup(fix->teams[1]->name->str);
|
|
||||||
|
|
||||||
if(fix->teams[0]->clid < ID_CUP_START)
|
|
||||||
token_rep[option_int("string_lg_commentary_token_team_layer0", &lg_tokens)] =
|
|
||||||
misc_int_to_char(league_from_clid(fix->teams[0]->clid)->layer);
|
|
||||||
if(fix->teams[1]->clid < ID_CUP_START)
|
|
||||||
token_rep[option_int("string_lg_commentary_token_team_layer1", &lg_tokens)] =
|
|
||||||
misc_int_to_char(league_from_clid(fix->teams[1]->clid)->layer);
|
|
||||||
|
|
||||||
token_rep[option_int("string_lg_commentary_token_league_cup_name", &lg_tokens)] =
|
|
||||||
g_strdup(league_cup_get_name_string(fix->clid));
|
|
||||||
|
|
||||||
if(fix->clid >= ID_CUP_START)
|
|
||||||
{
|
|
||||||
cup_get_round_name(cup_from_clid(fix->clid), fix->round, buf);
|
|
||||||
token_rep[option_int("string_lg_commentary_token_cup_round_name", &lg_tokens)] =
|
|
||||||
g_strdup(buf);
|
|
||||||
}
|
|
||||||
|
|
||||||
misc_print_grouped_int(fix->attendance, buf);
|
|
||||||
token_rep[option_int("string_lg_commentary_token_attendance", &lg_tokens)] =
|
|
||||||
g_strdup(buf);
|
|
||||||
|
|
||||||
token_rep[option_int("string_lg_commentary_token_yellow_limit", &lg_tokens)] =
|
|
||||||
misc_int_to_char(league_cup_get_yellow_red(fix->clid));
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Free the memory occupied by the tokens array and the permanent tokens. */
|
|
||||||
void
|
|
||||||
lg_commentary_post_match(void)
|
|
||||||
{
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_team_home", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_team_away", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_attendance", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_league_cup_name", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_cup_round_name", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_yellow_limit", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_team_layer0", &lg_tokens)]);
|
|
||||||
g_free(token_rep[option_int("string_lg_commentary_token_team_layer1", &lg_tokens)]);
|
|
||||||
|
|
||||||
g_free(token_rep);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Generate commentary for the live game event in the unit.
|
/** Generate commentary for the live game event in the unit.
|
||||||
@param unit The unit we comment.
|
@param unit The unit we comment.
|
||||||
@@ -108,8 +51,16 @@ lg_commentary_generate(const LiveGame *live_game, LiveGameUnit *unit)
|
|||||||
gint order[(*commentaries)->len];
|
gint order[(*commentaries)->len];
|
||||||
lg_commentary_get_order(*commentaries, order);
|
lg_commentary_get_order(*commentaries, order);
|
||||||
|
|
||||||
|
repetition = FALSE;
|
||||||
|
|
||||||
for(i=0;i<(*commentaries)->len;i++)
|
for(i=0;i<(*commentaries)->len;i++)
|
||||||
|
if(lg_commentary_check_commentary(&g_array_index(*commentaries, LGCommentary, order[i]), buf))
|
||||||
|
break;
|
||||||
|
|
||||||
|
if(i == (*commentaries)->len)
|
||||||
{
|
{
|
||||||
|
repetition = TRUE;
|
||||||
|
for(i=0;i<(*commentaries)->len;i++)
|
||||||
if(lg_commentary_check_commentary(&g_array_index(*commentaries, LGCommentary, order[i]), buf))
|
if(lg_commentary_check_commentary(&g_array_index(*commentaries, LGCommentary, order[i]), buf))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -122,6 +73,8 @@ lg_commentary_generate(const LiveGame *live_game, LiveGameUnit *unit)
|
|||||||
}
|
}
|
||||||
|
|
||||||
unit->event.commentary = g_string_new(buf);
|
unit->event.commentary = g_string_new(buf);
|
||||||
|
unit->event.commentary_id = (i == (*commentaries)->len) ?
|
||||||
|
-1 : g_array_index(*commentaries, LGCommentary, order[i]).id;
|
||||||
|
|
||||||
for(i=0;i<lg_tokens.list->len;i++)
|
for(i=0;i<lg_tokens.list->len;i++)
|
||||||
if(i != option_int("string_lg_commentary_token_team_home", &lg_tokens) &&
|
if(i != option_int("string_lg_commentary_token_team_home", &lg_tokens) &&
|
||||||
@@ -143,12 +96,14 @@ lg_commentary_generate(const LiveGame *live_game, LiveGameUnit *unit)
|
|||||||
gboolean
|
gboolean
|
||||||
lg_commentary_check_commentary(const LGCommentary *commentary, gchar *dest)
|
lg_commentary_check_commentary(const LGCommentary *commentary, gchar *dest)
|
||||||
{
|
{
|
||||||
if(commentary->condition != NULL &&
|
if((commentary->condition != NULL &&
|
||||||
!lg_commentary_parse_condition(commentary->condition->str))
|
!lg_commentary_parse_condition(commentary->condition->str)) ||
|
||||||
|
(repetition == FALSE && query_lg_commentary_is_repetition(commentary->id)))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
strcpy(dest, commentary->text->str);
|
strcpy(dest, commentary->text->str);
|
||||||
|
|
||||||
|
if(lg_commentary_replace_tokens(dest))
|
||||||
if(lg_commentary_replace_tokens(dest))
|
if(lg_commentary_replace_tokens(dest))
|
||||||
{
|
{
|
||||||
lg_commentary_replace_expressions(dest);
|
lg_commentary_replace_expressions(dest);
|
||||||
@@ -160,6 +115,22 @@ lg_commentary_check_commentary(const LGCommentary *commentary, gchar *dest)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Check whether a commentary with given id has been used in the last
|
||||||
|
few commentaries. Return TRUE if so and FALSE otherwise. */
|
||||||
|
gboolean
|
||||||
|
query_lg_commentary_is_repetition(gint id)
|
||||||
|
{
|
||||||
|
const GArray *units = ((LiveGame*)statp)->units;
|
||||||
|
gint units_min = units->len - const_int("int_lg_commentary_check_backwards") - 1;
|
||||||
|
gint i, min = MAX(units_min, 0);
|
||||||
|
|
||||||
|
for(i=units->len - 2; i>= min; i--)
|
||||||
|
if(g_array_index(units, LiveGameUnit, i).event.commentary_id == id)
|
||||||
|
return TRUE;
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/** Replace simple arithmetic expressions like "1 + 2"
|
/** Replace simple arithmetic expressions like "1 + 2"
|
||||||
and comparisons like "3 < 4" with the appropriate result. */
|
and comparisons like "3 < 4" with the appropriate result. */
|
||||||
void
|
void
|
||||||
@@ -188,7 +159,9 @@ lg_commentary_replace_expressions(gchar *commentary_text)
|
|||||||
|
|
||||||
if(query_misc_string_contains(buf2, "<") ||
|
if(query_misc_string_contains(buf2, "<") ||
|
||||||
query_misc_string_contains(buf2, ">") ||
|
query_misc_string_contains(buf2, ">") ||
|
||||||
query_misc_string_contains(buf2, "="))
|
query_misc_string_contains(buf2, "=") ||
|
||||||
|
query_misc_string_contains(buf2, " G ") ||
|
||||||
|
query_misc_string_contains(buf2, " L "))
|
||||||
misc_parse(buf2, &value);
|
misc_parse(buf2, &value);
|
||||||
else
|
else
|
||||||
misc_parse_expression(buf2, &value);
|
misc_parse_expression(buf2, &value);
|
||||||
@@ -312,7 +285,9 @@ lg_commentary_set_stats_tokens(const LiveGameStats *stats)
|
|||||||
token_rep[option_int("string_lg_commentary_token_stat_shot_per0", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_shot_per0", &lg_tokens)] =
|
||||||
misc_int_to_char(stats->values[0][LIVE_GAME_STAT_VALUE_SHOT_PERCENTAGE]);
|
misc_int_to_char(stats->values[0][LIVE_GAME_STAT_VALUE_SHOT_PERCENTAGE]);
|
||||||
token_rep[option_int("string_lg_commentary_token_stat_poss0", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_poss0", &lg_tokens)] =
|
||||||
misc_int_to_char(stats->values[0][LIVE_GAME_STAT_VALUE_POSSESSION]);
|
misc_int_to_char((gint)rint(100 * ((gfloat)stats->values[0][LIVE_GAME_STAT_VALUE_POSSESSION] /
|
||||||
|
((gfloat)stats->values[0][LIVE_GAME_STAT_VALUE_POSSESSION] +
|
||||||
|
(gfloat)stats->values[1][LIVE_GAME_STAT_VALUE_POSSESSION]))));
|
||||||
token_rep[option_int("string_lg_commentary_token_stat_pen0", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_pen0", &lg_tokens)] =
|
||||||
misc_int_to_char(stats->values[0][LIVE_GAME_STAT_VALUE_PENALTIES]);
|
misc_int_to_char(stats->values[0][LIVE_GAME_STAT_VALUE_PENALTIES]);
|
||||||
token_rep[option_int("string_lg_commentary_token_stat_fouls0", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_fouls0", &lg_tokens)] =
|
||||||
@@ -329,7 +304,9 @@ lg_commentary_set_stats_tokens(const LiveGameStats *stats)
|
|||||||
token_rep[option_int("string_lg_commentary_token_stat_shot_per1", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_shot_per1", &lg_tokens)] =
|
||||||
misc_int_to_char(stats->values[1][LIVE_GAME_STAT_VALUE_SHOT_PERCENTAGE]);
|
misc_int_to_char(stats->values[1][LIVE_GAME_STAT_VALUE_SHOT_PERCENTAGE]);
|
||||||
token_rep[option_int("string_lg_commentary_token_stat_poss1", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_poss1", &lg_tokens)] =
|
||||||
misc_int_to_char(stats->values[1][LIVE_GAME_STAT_VALUE_POSSESSION]);
|
misc_int_to_char((gint)rint(100 * ((gfloat)stats->values[1][LIVE_GAME_STAT_VALUE_POSSESSION] /
|
||||||
|
((gfloat)stats->values[0][LIVE_GAME_STAT_VALUE_POSSESSION] +
|
||||||
|
(gfloat)stats->values[1][LIVE_GAME_STAT_VALUE_POSSESSION]))));
|
||||||
token_rep[option_int("string_lg_commentary_token_stat_pen1", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_pen1", &lg_tokens)] =
|
||||||
misc_int_to_char(stats->values[1][LIVE_GAME_STAT_VALUE_PENALTIES]);
|
misc_int_to_char(stats->values[1][LIVE_GAME_STAT_VALUE_PENALTIES]);
|
||||||
token_rep[option_int("string_lg_commentary_token_stat_fouls1", &lg_tokens)] =
|
token_rep[option_int("string_lg_commentary_token_stat_fouls1", &lg_tokens)] =
|
||||||
@@ -547,6 +524,65 @@ lg_commentary_get_extra_data(const LiveGameUnit *unit, const Fixture *fix)
|
|||||||
return g_strdup(buf);
|
return g_strdup(buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Allocate memory for the token array and fill some tokens
|
||||||
|
at the beginning of the live game that don't change later. */
|
||||||
|
void
|
||||||
|
lg_commentary_initialize(const Fixture *fix)
|
||||||
|
{
|
||||||
|
gint i;
|
||||||
|
gchar buf[SMALL];
|
||||||
|
|
||||||
|
token_rep = (gchar**)g_malloc(sizeof(gchar*) * lg_tokens.list->len);
|
||||||
|
|
||||||
|
for(i=0;i<lg_tokens.list->len;i++)
|
||||||
|
token_rep[i] = NULL;
|
||||||
|
|
||||||
|
token_rep[option_int("string_lg_commentary_token_team_home", &lg_tokens)] =
|
||||||
|
g_strdup(fix->teams[0]->name->str);
|
||||||
|
token_rep[option_int("string_lg_commentary_token_team_away", &lg_tokens)] =
|
||||||
|
g_strdup(fix->teams[1]->name->str);
|
||||||
|
|
||||||
|
if(fix->teams[0]->clid < ID_CUP_START)
|
||||||
|
token_rep[option_int("string_lg_commentary_token_team_layer0", &lg_tokens)] =
|
||||||
|
misc_int_to_char(league_from_clid(fix->teams[0]->clid)->layer);
|
||||||
|
if(fix->teams[1]->clid < ID_CUP_START)
|
||||||
|
token_rep[option_int("string_lg_commentary_token_team_layer1", &lg_tokens)] =
|
||||||
|
misc_int_to_char(league_from_clid(fix->teams[1]->clid)->layer);
|
||||||
|
|
||||||
|
token_rep[option_int("string_lg_commentary_token_league_cup_name", &lg_tokens)] =
|
||||||
|
g_strdup(league_cup_get_name_string(fix->clid));
|
||||||
|
|
||||||
|
if(fix->clid >= ID_CUP_START)
|
||||||
|
{
|
||||||
|
cup_get_round_name(cup_from_clid(fix->clid), fix->round, buf);
|
||||||
|
token_rep[option_int("string_lg_commentary_token_cup_round_name", &lg_tokens)] =
|
||||||
|
g_strdup(buf);
|
||||||
|
}
|
||||||
|
|
||||||
|
misc_print_grouped_int(fix->attendance, buf);
|
||||||
|
token_rep[option_int("string_lg_commentary_token_attendance", &lg_tokens)] =
|
||||||
|
g_strdup(buf);
|
||||||
|
|
||||||
|
token_rep[option_int("string_lg_commentary_token_yellow_limit", &lg_tokens)] =
|
||||||
|
misc_int_to_char(league_cup_get_yellow_red(fix->clid));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Free the memory occupied by the tokens array and the permanent tokens. */
|
||||||
|
void
|
||||||
|
lg_commentary_post_match(void)
|
||||||
|
{
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_team_home", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_team_away", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_attendance", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_league_cup_name", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_cup_round_name", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_yellow_limit", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_team_layer0", &lg_tokens)]);
|
||||||
|
g_free(token_rep[option_int("string_lg_commentary_token_team_layer1", &lg_tokens)]);
|
||||||
|
|
||||||
|
g_free(token_rep);
|
||||||
|
}
|
||||||
|
|
||||||
/** Load the appropriate commentary file by evaluating
|
/** Load the appropriate commentary file by evaluating
|
||||||
the language option. */
|
the language option. */
|
||||||
void
|
void
|
||||||
|
@@ -15,6 +15,9 @@ lg_commentary_initialize(const Fixture *fix);
|
|||||||
gboolean
|
gboolean
|
||||||
lg_commentary_check_commentary(const LGCommentary *commentary, gchar *dest);
|
lg_commentary_check_commentary(const LGCommentary *commentary, gchar *dest);
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
query_lg_commentary_is_repetition(gint id);
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
lg_commentary_replace_tokens(gchar *commentary_text);
|
lg_commentary_replace_tokens(gchar *commentary_text);
|
||||||
|
|
||||||
|
@@ -15,6 +15,9 @@ typedef struct
|
|||||||
The higher the priority the higher the
|
The higher the priority the higher the
|
||||||
probability that the commentary gets picked. */
|
probability that the commentary gets picked. */
|
||||||
gint priority;
|
gint priority;
|
||||||
|
/** An id to keep track of already used commentaries in the
|
||||||
|
live game (so as not to use the same one too frequently). */
|
||||||
|
gint id;
|
||||||
} LGCommentary;
|
} LGCommentary;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -538,6 +538,8 @@ live_game_event_scoring_chance(void)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
last_unit.event.team = last_unit.possession;
|
||||||
|
|
||||||
if(uni(unis->len - 2).event.player != -1 &&
|
if(uni(unis->len - 2).event.player != -1 &&
|
||||||
math_rnd(0, 1) < const_float("float_live_game_player_in_poss_shoots") &&
|
math_rnd(0, 1) < const_float("float_live_game_player_in_poss_shoots") &&
|
||||||
query_player_id_in_team(uni(unis->len - 2).event.player,
|
query_player_id_in_team(uni(unis->len - 2).event.player,
|
||||||
@@ -741,10 +743,10 @@ live_game_event_general_get_players(void)
|
|||||||
|
|
||||||
if(type == LIVE_GAME_EVENT_LOST_POSSESSION)
|
if(type == LIVE_GAME_EVENT_LOST_POSSESSION)
|
||||||
{
|
{
|
||||||
*pl1 = game_get_player(tm[last_unit.possession],
|
|
||||||
last_unit.area, 0, *pl1,
|
|
||||||
TRUE);
|
|
||||||
*pl2 = old_pl1;
|
*pl2 = old_pl1;
|
||||||
|
*pl1 = game_get_player(tm[last_unit.possession],
|
||||||
|
last_unit.area, 0, *pl2,
|
||||||
|
TRUE);
|
||||||
}
|
}
|
||||||
else if(type != LIVE_GAME_EVENT_GENERAL)
|
else if(type != LIVE_GAME_EVENT_GENERAL)
|
||||||
{
|
{
|
||||||
|
@@ -132,7 +132,8 @@ typedef struct
|
|||||||
gint team, player, player2;
|
gint team, player, player2;
|
||||||
/** The commentary for the event. */
|
/** The commentary for the event. */
|
||||||
GString *commentary;
|
GString *commentary;
|
||||||
|
/** Id of the commentary. */
|
||||||
|
gint commentary_id;
|
||||||
} LiveGameEvent;
|
} LiveGameEvent;
|
||||||
|
|
||||||
/** A struct representing a fraction of a live game. */
|
/** A struct representing a fraction of a live game. */
|
||||||
|
@@ -134,6 +134,8 @@ misc2_callback_contract_offer(void)
|
|||||||
gint value = 0;
|
gint value = 0;
|
||||||
Player *pl = (Player*)statp;
|
Player *pl = (Player*)statp;
|
||||||
|
|
||||||
|
gtk_widget_set_sensitive(lookup_widget(window.contract, "button_contract_cancel"), FALSE);
|
||||||
|
|
||||||
for(i=0;i<4;i++)
|
for(i=0;i<4;i++)
|
||||||
{
|
{
|
||||||
sprintf(buf, "radiobutton_contract%d", i + 1);
|
sprintf(buf, "radiobutton_contract%d", i + 1);
|
||||||
|
@@ -214,12 +214,23 @@ on_button_contract_offer_clicked (GtkButton *button,
|
|||||||
misc2_callback_contract_offer();
|
misc2_callback_contract_offer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
on_button_contract_cancel_clicked (GtkButton *button,
|
||||||
|
gpointer user_data)
|
||||||
|
{
|
||||||
|
window_destroy(&window.contract, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
on_window_contract_delete_event (GtkWidget *widget,
|
on_window_contract_delete_event (GtkWidget *widget,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
gpointer user_data)
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
if(GTK_WIDGET_IS_SENSITIVE(lookup_widget(window.contract, "button_contract_cancel")))
|
||||||
|
window_destroy(&window.contract, FALSE);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -451,4 +462,3 @@ on_button_transfer_later_clicked (GtkButton *button,
|
|||||||
{
|
{
|
||||||
window_destroy(&window.transfer_dialog, FALSE);
|
window_destroy(&window.transfer_dialog, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -150,3 +150,7 @@ void
|
|||||||
on_button_transfer_later_clicked (GtkButton *button,
|
on_button_transfer_later_clicked (GtkButton *button,
|
||||||
gpointer user_data);
|
gpointer user_data);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void
|
||||||
|
on_button_contract_cancel_clicked (GtkButton *button,
|
||||||
|
gpointer user_data);
|
||||||
|
@@ -576,6 +576,7 @@ create_window_contract (void)
|
|||||||
GtkWidget *hbox20;
|
GtkWidget *hbox20;
|
||||||
GtkWidget *image10;
|
GtkWidget *image10;
|
||||||
GtkWidget *label44;
|
GtkWidget *label44;
|
||||||
|
GtkWidget *button_contract_cancel;
|
||||||
|
|
||||||
window_contract = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
window_contract = gtk_window_new (GTK_WINDOW_TOPLEVEL);
|
||||||
gtk_container_set_border_width (GTK_CONTAINER (window_contract), 5);
|
gtk_container_set_border_width (GTK_CONTAINER (window_contract), 5);
|
||||||
@@ -691,12 +692,19 @@ create_window_contract (void)
|
|||||||
gtk_widget_show (label44);
|
gtk_widget_show (label44);
|
||||||
gtk_box_pack_start (GTK_BOX (hbox20), label44, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox20), label44, FALSE, FALSE, 0);
|
||||||
|
|
||||||
|
button_contract_cancel = gtk_button_new_from_stock ("gtk-cancel");
|
||||||
|
gtk_widget_show (button_contract_cancel);
|
||||||
|
gtk_box_pack_start (GTK_BOX (hbox19), button_contract_cancel, FALSE, FALSE, 0);
|
||||||
|
|
||||||
g_signal_connect ((gpointer) window_contract, "delete_event",
|
g_signal_connect ((gpointer) window_contract, "delete_event",
|
||||||
G_CALLBACK (on_window_contract_delete_event),
|
G_CALLBACK (on_window_contract_delete_event),
|
||||||
NULL);
|
NULL);
|
||||||
g_signal_connect ((gpointer) button_contract_offer, "clicked",
|
g_signal_connect ((gpointer) button_contract_offer, "clicked",
|
||||||
G_CALLBACK (on_button_contract_offer_clicked),
|
G_CALLBACK (on_button_contract_offer_clicked),
|
||||||
NULL);
|
NULL);
|
||||||
|
g_signal_connect ((gpointer) button_contract_cancel, "clicked",
|
||||||
|
G_CALLBACK (on_button_contract_cancel_clicked),
|
||||||
|
NULL);
|
||||||
|
|
||||||
/* Store pointers to all widgets, for use by lookup_widget(). */
|
/* Store pointers to all widgets, for use by lookup_widget(). */
|
||||||
GLADE_HOOKUP_OBJECT_NO_REF (window_contract, window_contract, "window_contract");
|
GLADE_HOOKUP_OBJECT_NO_REF (window_contract, window_contract, "window_contract");
|
||||||
@@ -719,6 +727,7 @@ create_window_contract (void)
|
|||||||
GLADE_HOOKUP_OBJECT (window_contract, hbox20, "hbox20");
|
GLADE_HOOKUP_OBJECT (window_contract, hbox20, "hbox20");
|
||||||
GLADE_HOOKUP_OBJECT (window_contract, image10, "image10");
|
GLADE_HOOKUP_OBJECT (window_contract, image10, "image10");
|
||||||
GLADE_HOOKUP_OBJECT (window_contract, label44, "label44");
|
GLADE_HOOKUP_OBJECT (window_contract, label44, "label44");
|
||||||
|
GLADE_HOOKUP_OBJECT (window_contract, button_contract_cancel, "button_contract_cancel");
|
||||||
|
|
||||||
return window_contract;
|
return window_contract;
|
||||||
}
|
}
|
||||||
|
@@ -213,6 +213,7 @@ xml_lg_commentary_read_text (GMarkupParseContext *context,
|
|||||||
commentary.text = g_string_new(buf);
|
commentary.text = g_string_new(buf);
|
||||||
commentary.condition = condition;
|
commentary.condition = condition;
|
||||||
commentary.priority = MAX(1, priority);
|
commentary.priority = MAX(1, priority);
|
||||||
|
commentary.id = lg_commentary_id_new;
|
||||||
g_array_append_val(lg_commentary[commentary_idx], commentary);
|
g_array_append_val(lg_commentary[commentary_idx], commentary);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -767,3 +767,7 @@ int_sponsor_without_weeks_upper 6
|
|||||||
# to continue engagement if the team is completely
|
# to continue engagement if the team is completely
|
||||||
# unsuccessful
|
# unsuccessful
|
||||||
float_sponsor_continue_prob 1000
|
float_sponsor_continue_prob 1000
|
||||||
|
|
||||||
|
# how many live game units we check backwards to avoid
|
||||||
|
# having the same commentary text too often
|
||||||
|
int_lg_commentary_check_backwards 12
|
||||||
|
@@ -21,10 +21,11 @@
|
|||||||
<commentary>Schöner Pass von _P1_ eröffnet den Raum vor _P0_</commentary>
|
<commentary>Schöner Pass von _P1_ eröffnet den Raum vor _P0_</commentary>
|
||||||
<commentary>Guter Querpass auf die rechte Seite</commentary>
|
<commentary>Guter Querpass auf die rechte Seite</commentary>
|
||||||
<commentary>Ein weiterer Flankenlauf</commentary>
|
<commentary>Ein weiterer Flankenlauf</commentary>
|
||||||
<commentary cond="_MI_ > 18 and _POSS0_ > 58 or _POSS1_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ = 0">_T[_POSS1_ G _POSS0_]_ beherrscht das Spiel, zeigt aber bislang brotlose Kunst</commentary>
|
<commentary cond="_MI_ > 18 and _POSS[_POSS1_ > _POSS0_]_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ = 0">_T[_POSS1_ G _POSS0_]_ beherrscht das Spiel, zeigt aber bislang brotlose Kunst</commentary>
|
||||||
<commentary cond="_MI_ > 18 and _POSS0_ > 58 or _POSS1_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ > _GOALS[_POSS1_ L _POSS0_]_">_T[_POSS1_ > _POSS0_]_ beherrscht das Spiel klar</commentary>
|
<commentary cond="_MI_ > 18 and _POSS[_POSS1_ > _POSS0_]_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ > _GOALS[_POSS1_ L _POSS0_]_">_T[_POSS1_ G _POSS0_]_ beherrscht das Spiel klar</commentary>
|
||||||
<commentary cond="_MI_ > 18 and _POSS0_ > 58 or _POSS1_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ = 0">_T[_POSS1_ G _POSS0_]_ ist eindeutig unterlegen, das _RE_ ist schmeichelhaft</commentary>
|
<commentary cond="_MI_ > 18 and _POSS[_POSS1_ > _POSS0_]_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ > _GOALS[_POSS1_ L _POSS0_]_">_T[_POSS1_ G _POSS0_]_ ist überlegen</commentary>
|
||||||
<commentary cond="_MI_ > 18 and _POSS0_ > 58 or _POSS1_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ > _GOALS[_POSS1_ L _POSS0_]_ and _GD_ < 3">_T[_POSS1_ L _POSS0_]_ kann mit dem _RE_ noch zufrieden sein</commentary>
|
<commentary cond="_MI_ > 18 and _POSS[_POSS1_ > _POSS0_]_ > 58 and _GD_ < 2">_T[_POSS1_ L _POSS0_]_ ist eindeutig unterlegen, das _RE_ ist schmeichelhaft</commentary>
|
||||||
|
<commentary cond="_MI_ > 18 and _POSS[_POSS1_ > _POSS0_]_ > 58 and _GOALS[_POSS1_ > _POSS0_]_ > _GOALS[_POSS1_ L _POSS0_]_ and _GD_ < 3">_T[_POSS1_ L _POSS0_]_ kann mit dem _RE_ noch zufrieden sein</commentary>
|
||||||
<commentary cond="_MT_ + _MI_ > 100 and _TIME_ = 1 and _MR_ < 15">Die Verlängerung ist greifbar nahe</commentary>
|
<commentary cond="_MT_ + _MI_ > 100 and _TIME_ = 1 and _MR_ < 15">Die Verlängerung ist greifbar nahe</commentary>
|
||||||
<commentary cond="_GD_ > 0 and _GD_ < 3 and _MT_ < 20">_TL_ sollte sich jetzt langsam mal anstrengen </commentary>
|
<commentary cond="_GD_ > 0 and _GD_ < 3 and _MT_ < 20">_TL_ sollte sich jetzt langsam mal anstrengen </commentary>
|
||||||
<commentary cond="_GD_ > 0 and _GD_ < 3 and _MT_ < 20">_TL_ sollte einen Zahn zulegen</commentary>
|
<commentary cond="_GD_ > 0 and _GD_ < 3 and _MT_ < 20">_TL_ sollte einen Zahn zulegen</commentary>
|
||||||
@@ -46,16 +47,18 @@
|
|||||||
<commentary cond="_GD_ > 2">_TW_ beherrscht _TL_ nach Belieben</commentary>
|
<commentary cond="_GD_ > 2">_TW_ beherrscht _TL_ nach Belieben</commentary>
|
||||||
<commentary cond="_GD_ > 2">Keine Chance für _TL_ in diesem Spiel</commentary>
|
<commentary cond="_GD_ > 2">Keine Chance für _TL_ in diesem Spiel</commentary>
|
||||||
<commentary cond="_GD_ > 2 and _MT_ < 30">Das wird wohl nix mehr für_TL_</commentary>
|
<commentary cond="_GD_ > 2 and _MT_ < 30">Das wird wohl nix mehr für_TL_</commentary>
|
||||||
<commentary cond="_G0_ + _G1_ > 2 and _MI_ < 20">Das könnte ein sehr torreiches Spiel werden heute</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ > 2 and _MI_ < 20">Das könnte ein sehr torreiches Spiel werden heute</commentary>
|
||||||
<commentary cond="_GD_ = 1 and _MT_ < 10">_TL_ kann den Ausgleich noch schaffen</commentary>
|
<commentary cond="_GD_ = 1 and _MT_ < 10">_TL_ kann den Ausgleich noch schaffen</commentary>
|
||||||
<commentary cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 7 and _G[_TAVSKILL1_ > _TAVSKILL0_]_ < _G[_TAVSKILL1_ < _TAVSKILL0_]_">Was für eine Überraschung, das vermeintlich unterlegene Team führt</commentary>
|
<commentary cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 7 and _G[_TAVSKILL1_ > _TAVSKILL0_]_ < _G[_TAVSKILL1_ < _TAVSKILL0_]_">Was für eine Überraschung, das vermeintlich unterlegene Team führt</commentary>
|
||||||
<commentary cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 5 and _G[_TAVSKILL1_ > _TAVSKILL0_]_ > _G[_TAVSKILL1_ < _TAVSKILL0_]_">Der Favorit führt; so ein Spielverlauf war zu erwarten</commentary>
|
<commentary cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 5 and _G[_TAVSKILL1_ > _TAVSKILL0_]_ > _G[_TAVSKILL1_ < _TAVSKILL0_]_">Der Favorit führt; so ein Spielverlauf war zu erwarten</commentary>
|
||||||
<commentary cond="_G0_ + _G1_ = 0 and _MI_ > 40 and _MI_ < 60">Nach _MI_ Minuten ist immer noch kein Tor gefallen</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MI_ > 40 and _MI_ < 60">Nach _MI_ Minuten ist immer noch kein Tor gefallen</commentary>
|
||||||
<commentary cond="_G0_ + _G1_ = 0 and _MI_ > 70">Was für ein enttäuschendes Spiel, immer noch _RE_</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MI_ > 70">Was für ein enttäuschendes Spiel, immer noch _RE_</commentary>
|
||||||
<commentary cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 7 and _G[_TAVSKILL1_ > _TAVSKILL0_]_ < _G[_TAVSKILL1_ < _TAVSKILL0_]_ and _MT_ < 15">_TW_ ist nur noch _MT_ Minuten von einer faustdicken Überraschung entfernt</commentary>
|
<commentary cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 7 and _G[_TAVSKILL1_ > _TAVSKILL0_]_ < _G[_TAVSKILL1_ < _TAVSKILL0_]_ and _MT_ < 15">_TW_ ist nur noch _MT_ Minuten von einer faustdicken Überraschung entfernt</commentary>
|
||||||
<commentary cond="_G0_ + _G1_ = 0 and _MT_ < 10">Also wirklich, wollen uns die beiden Teams wirklich mit einem _RE_ abspeisen?</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MT_ < 10">Also wirklich, wollen uns die beiden Teams wirklich mit einem _RE_ abspeisen?</commentary>
|
||||||
<commentary cond="_G0_ + _G1_ = 0 and _MT_ < 15">Jetzt sollte aber wirklich mal ein Tor her</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MT_ < 15">Jetzt sollte aber wirklich mal ein Tor her</commentary>
|
||||||
<commentary cond="_G0_ + _G1_ = 0 and _MT_ < 5">Nein, bitte nicht wieder so ein _RE_</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MT_ < 5">Nein, bitte nicht wieder so ein _RE_</commentary>
|
||||||
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MT_ < 30">_MI_ Minuten gespielt und immer noch _RE_</commentary>
|
||||||
|
<commentary cond="_GOALS0_ + _GOALS1_ = 0 and _MT_ < 50">Ein mageres _RE_ nach _MI_ Minuten</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
@@ -200,8 +203,8 @@
|
|||||||
<commentary>Verlängerung: jetzt geht's um Willenskraft und Entschlossenheit</commentary>
|
<commentary>Verlängerung: jetzt geht's um Willenskraft und Entschlossenheit</commentary>
|
||||||
<commentary>Es steht immer noch _RE_: Verlängerung</commentary>
|
<commentary>Es steht immer noch _RE_: Verlängerung</commentary>
|
||||||
<commentary>Jetzt geht's um alles, die Verlängerung beginnt</commentary>
|
<commentary>Jetzt geht's um alles, die Verlängerung beginnt</commentary>
|
||||||
<commentary pri="5" cond="_G0_ + _GA_ > 4">Nach torreichen _MI_ Minuten steht noch kein Sieger fest</commentary>
|
<commentary pri="5" cond="_GOALS0_ + _GA_ > 4">Nach torreichen _MI_ Minuten steht noch kein Sieger fest</commentary>
|
||||||
<commentary pri="5" cond="_G0_ + _GA_ < 3">Nach einem schwachen Spiel erwartet uns die Verlängerung</commentary>
|
<commentary pri="5" cond="_GOALS0_ + _GA_ < 3">Nach einem schwachen Spiel erwartet uns die Verlängerung</commentary>
|
||||||
<commentary pri="5" cond="_POSS0_ > 58 or _POSS1_ > 58">Trotz _POSS[_POSS1_ G _POSS0_]_% Ballbesitz konnte _T[_POSS1_ G _POSS0_]_ das Spiel nicht in _MI_ Minuten klarmachen</commentary>
|
<commentary pri="5" cond="_POSS0_ > 58 or _POSS1_ > 58">Trotz _POSS[_POSS1_ G _POSS0_]_% Ballbesitz konnte _T[_POSS1_ G _POSS0_]_ das Spiel nicht in _MI_ Minuten klarmachen</commentary>
|
||||||
<commentary pri="5" cond="_SHOTS0_ != _SHOTS1_">Trotz _SHOTS[_SHOTS1_ G _SHOTS0_]_ Schüssen konnte _T[_SHOTS1_ G _SHOTS0_]_ den Sack heute nicht zumachen</commentary>
|
<commentary pri="5" cond="_SHOTS0_ != _SHOTS1_">Trotz _SHOTS[_SHOTS1_ G _SHOTS0_]_ Schüssen konnte _T[_SHOTS1_ G _SHOTS0_]_ den Sack heute nicht zumachen</commentary>
|
||||||
<commentary pri="5" cond="_TLAYER0_ != _TLAYER1_">So eine Überraschung, jetzt kommt's zur Verlängerung</commentary>
|
<commentary pri="5" cond="_TLAYER0_ != _TLAYER1_">So eine Überraschung, jetzt kommt's zur Verlängerung</commentary>
|
||||||
@@ -232,9 +235,10 @@
|
|||||||
<commentary pri="5" cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 5 and _TWN_ = [_TAVSKILL1_ > _TAVSKILL0_]">_TW_ gewinnt erwartungsgemäß</commentary>
|
<commentary pri="5" cond="_REDS0_ = _REDS1_ and _TAVSKILLDIFF_ > 5 and _TWN_ = [_TAVSKILL1_ > _TAVSKILL0_]">_TW_ gewinnt erwartungsgemäß</commentary>
|
||||||
<commentary pri="10" cond="_GD_ > 3 and _TLAYER_TWN__ >= _TLAYER_TLN__">Oje, was für eine Blamage für _TL_</commentary>
|
<commentary pri="10" cond="_GD_ > 3 and _TLAYER_TWN__ >= _TLAYER_TLN__">Oje, was für eine Blamage für _TL_</commentary>
|
||||||
<commentary pri="5" cond="_GD_ = 1">Ein knapper Sieg für _TW_</commentary>
|
<commentary pri="5" cond="_GD_ = 1">Ein knapper Sieg für _TW_</commentary>
|
||||||
|
<commentary pri="5" cond="_GD_ = 1">Das Spiel endet mit einem hauchdünnen _RE_</commentary>
|
||||||
<commentary cond="_GD_ > 1">Ein letztlich ungefährdeter Sieg für _TW_</commentary>
|
<commentary cond="_GD_ > 1">Ein letztlich ungefährdeter Sieg für _TW_</commentary>
|
||||||
<commentary pri="10" cond="_POSS0_ > 56 or _POSS1_ > 56 and _TWN_ = [_POSS1_ > _POSS0_]">Mit _POSS[_POSS1_ G _POSS0_]_% Ballbesitz hat _TW_ dieses Spiel beherrscht und gewinnt verdient</commentary>
|
<commentary pri="10" cond="_POSS[_POSS1_ > _POSS0_]_ > 56 and _TWN_ = [_POSS1_ > _POSS0_]">Mit _POSS[_POSS1_ G _POSS0_]_% Ballbesitz hat _TW_ dieses Spiel beherrscht und gewinnt verdient</commentary>
|
||||||
<commentary pri="10" cond="_POSS0_ > 56 or _POSS1_ > 56 and _TLN_ = [_POSS1_ > _POSS0_]">_POSS[_POSS1_ G _POSS0_]_% Ballbesitz haben _TL_ nicht geholfen, sie verlieren _RE_</commentary>
|
<commentary pri="10" cond="_POSS[_POSS1_ > _POSS0_]_ and _TLN_ = [_POSS1_ > _POSS0_]">_POSS[_POSS1_ G _POSS0_]_% Ballbesitz haben _TL_ nicht geholfen, sie verlieren _RE_</commentary>
|
||||||
<commentary pri="5" cond="_SHOTS0_ != _SHOTS1_ and _TWN_ = [_SHOTS1_ > _SHOTS0_]">_TW_ hat sich einfach mehr Chancen herausgearbeitet heute</commentary>
|
<commentary pri="5" cond="_SHOTS0_ != _SHOTS1_ and _TWN_ = [_SHOTS1_ > _SHOTS0_]">_TW_ hat sich einfach mehr Chancen herausgearbeitet heute</commentary>
|
||||||
<commentary pri="5" cond="_SHOTS0_ != _SHOTS1_ and _TLN_ = [_SHOTS1_ > _SHOTS0_]">_TL_ hatte mehr Chancen, aber die Abschlussschwäche hat einen Sieg verhindert</commentary>
|
<commentary pri="5" cond="_SHOTS0_ != _SHOTS1_ and _TLN_ = [_SHOTS1_ > _SHOTS0_]">_TL_ hatte mehr Chancen, aber die Abschlussschwäche hat einen Sieg verhindert</commentary>
|
||||||
<commentary pri="5" cond="_GOALS1_ > _GOALS0_">Ein schöner Auswärtssieg für _TW_</commentary>
|
<commentary pri="5" cond="_GOALS1_ > _GOALS0_">Ein schöner Auswärtssieg für _TW_</commentary>
|
||||||
@@ -242,6 +246,10 @@
|
|||||||
<commentary pri="5" cond="_GOALS1_ < _GOALS0_">Ein Heimsieg für _TW_</commentary>
|
<commentary pri="5" cond="_GOALS1_ < _GOALS0_">Ein Heimsieg für _TW_</commentary>
|
||||||
<commentary pri="5" cond="_GOALS1_ > _GOALS0_">_TW_ gewinnt auswärts</commentary>
|
<commentary pri="5" cond="_GOALS1_ > _GOALS0_">_TW_ gewinnt auswärts</commentary>
|
||||||
<commentary pri="5" cond="_GOALS1_ < _GOALS0_">_TL_ verliert das Auswärtsspiel</commentary>
|
<commentary pri="5" cond="_GOALS1_ < _GOALS0_">_TL_ verliert das Auswärtsspiel</commentary>
|
||||||
|
<commentary pri="10" cond="_GOALS0_ + _GOALS1_ = 0">_RE_, wie ärgerlich</commentary>
|
||||||
|
<commentary pri="10" cond="_GOALS0_ + _GOALS1_ = 0">Nach so einem _RE_ will man am liebsten sein Geld zurück</commentary>
|
||||||
|
<commentary pri="10" cond="_GOALS0_ + _GOALS1_ = 0">Das Spiel endet mit einem mageren _RE_ </commentary>
|
||||||
|
<commentary pri="10" cond="_GOALS0_ + _GOALS1_ = 0">Die Zuschauer sind eher unzufrieden mit dem _RE_</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
@@ -258,12 +266,12 @@
|
|||||||
<commentary cond="_GD_ > 2">_TL_ wurde regelrecht auseinandergenommen in der ersten Hälfte</commentary>
|
<commentary cond="_GD_ > 2">_TL_ wurde regelrecht auseinandergenommen in der ersten Hälfte</commentary>
|
||||||
<commentary cond="_GOALS0_ + _GOALS1_ = 1">In der zweiten Hälfte können schon ein paar Törchen mehr kommen</commentary>
|
<commentary cond="_GOALS0_ + _GOALS1_ = 1">In der zweiten Hälfte können schon ein paar Törchen mehr kommen</commentary>
|
||||||
<commentary cond="_GD_ = 0 and _GOALS1_ > 0">Ein enges Spiel in der ersten Hälfte</commentary>
|
<commentary cond="_GD_ = 0 and _GOALS1_ > 0">Ein enges Spiel in der ersten Hälfte</commentary>
|
||||||
<commentary cond="_SHOTS0_ > _SHOTS1_ + 3 or _SHOTS1_ > _SHOTS0_ + 3 and _TWN_ = [_SHOTS1_ > _SHOTS0_]">_TW_ beherrscht das Spiel und führt verdient _RE_ zur Halbzeit</commentary>
|
<commentary cond="_SHOTS[_SHOTS1_ > _SHOTS0_]_ > _SHOTS[_SHOTS1_ < _SHOTS0_]_ + 3 and _TWN_ = [_SHOTS1_ > _SHOTS0_]">_TW_ beherrscht das Spiel und führt verdient _RE_ zur Halbzeit</commentary>
|
||||||
<commentary cond="_SHOTS0_ > _SHOTS1_ + 3 or _SHOTS1_ > _SHOTS0_ + 3 and _GD_ = 0">_T[_SHOTS1_ > _SHOTS0_]_ beherrscht das Spiel, kann aber nur ein _RE_ vorweisen bislang</commentary>
|
<commentary cond="_SHOTS[_SHOTS1_ > _SHOTS0_]_ > _SHOTS[_SHOTS1_ < _SHOTS0_]_ + 3 and _GD_ = 0">_T[_SHOTS1_ > _SHOTS0_]_ beherrscht das Spiel, kann aber nur ein _RE_ vorweisen bislang</commentary>
|
||||||
<commentary cond="_SHOTS0_ > _SHOTS1_ + 3 or _SHOTS1_ > _SHOTS0_ + 3 and _TWN_ = [_SHOTS1_ < _SHOTS0_]">_T[_SHOTS1_ > _SHOTS0_]_ beherrscht das Spiel, aber _TW_ nutzt seine Chancen einfach besser</commentary>
|
<commentary cond="_SHOTS[_SHOTS1_ > _SHOTS0_]_ > _SHOTS[_SHOTS1_ < _SHOTS0_]_ + 3 and _TWN_ = [_SHOTS1_ < _SHOTS0_]">_T[_SHOTS1_ > _SHOTS0_]_ beherrscht das Spiel, aber _TW_ nutzt seine Chancen einfach besser</commentary>
|
||||||
<commentary cond="_POSS0_ > 58 or _POSS1_ > 58 and _GD_ = 0">_T[_POSS1_ G _POSS0_]_ beherrscht das Spiel mit _POSS[_POSS1_ > _POSS0_]_ % Ballbesitz, dennoch steht es _RE_</commentary>
|
<commentary cond="_POSS[_POSS1_ > _POSS0_]_ > 58 and _GD_ = 0">_T[_POSS1_ G _POSS0_]_ beherrscht das Spiel mit _POSS[_POSS1_ > _POSS0_]_ % Ballbesitz, dennoch steht es _RE_</commentary>
|
||||||
<commentary cond="_POSS0_ > 58 or _POSS1_ > 58 and [_POSS1_ > _POSS0_] = _TWN_ ">_TW_ beherrscht das Spiel klar und führt _RE_</commentary>
|
<commentary cond="_POSS[_POSS1_ > _POSS0_]_ > 58 and [_POSS1_ > _POSS0_] = _TWN_ ">_TW_ beherrscht das Spiel klar und führt _RE_</commentary>
|
||||||
<commentary cond="_POSS0_ > 58 or _POSS1_ > 58 and [_POSS1_ > _POSS0_] = _TLN_ ">_TL_ hat nur _POSS[_POSS1_ L _POSS0_]_ % Ballbesitz, führt aber _RE_ zur Halbzeit</commentary>
|
<commentary cond="_POSS[_POSS1_ > _POSS0_]_ > 58 and [_POSS1_ > _POSS0_] = _TLN_ ">_TW_ hat nur _POSS[_POSS1_ L _POSS0_]_ % Ballbesitz, führt aber _RE_ zur Halbzeit</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
@@ -335,25 +343,38 @@
|
|||||||
<commentary>Freistoß: _P0_ schießt aus großer Entfernung</commentary>
|
<commentary>Freistoß: _P0_ schießt aus großer Entfernung</commentary>
|
||||||
<commentary>Freistoß: _P0_ schlenzt den Ball über die Mauer</commentary>
|
<commentary>Freistoß: _P0_ schlenzt den Ball über die Mauer</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>lost_possession</name>
|
<name>lost_possession</name>
|
||||||
<commentary>_P1_ ersprintet den Ball aber _P0_ grätscht sauber</commentary>
|
<commentary>_P1_ ersprintet den Ball, aber _P0_ grätscht sauber</commentary>
|
||||||
<commentary>_P0_ nimmt _P1_ den Ball mit einer sauberen Grätsche ab</commentary>
|
<commentary>_P0_ nimmt _P1_ den Ball mit einer sauberen Grätsche ab</commentary>
|
||||||
<commentary>_P1_ kontrolliert den Ball schlecht, _P0_ kann ihn erobern</commentary>
|
<commentary>_P1_ kontrolliert den Ball schlecht, _P0_ kann ihn erobern</commentary>
|
||||||
<commentary>_P0_ erobert mit gutem Körpereinsatz den Ball</commentary>
|
<commentary>_P0_ erobert mit gutem Körpereinsatz den Ball</commentary>
|
||||||
|
<commentary>_P0_ erobert den Ball</commentary>
|
||||||
|
<commentary>_P1_ rutscht der Ball über den Spann, _P0_ bekommt ihn</commentary>
|
||||||
|
<commentary>_P1_ springt der Ball weg</commentary>
|
||||||
|
<commentary>_P1_ stoppt den Ball unsauber, er landet bei _P0_</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>own_goal</name>
|
<name>own_goal</name>
|
||||||
<commentary>Rückpass von _P0_... oh nein, der Torwart verfehlt ihn! Eigentor!</commentary>
|
<commentary>Rückpass von _P0_... oh nein, der Torwart verfehlt ihn! Eigentor!</commentary>
|
||||||
<commentary>Dieses Mißverständnis wurde mit einem Tor bezahlt</commentary>
|
<commentary>Dieses Mißverständnis wurde mit einem Tor bezahlt</commentary>
|
||||||
<commentary>Oh nein, der Ball springt gegen _P0_ und ins Netz</commentary>
|
<commentary>Oh nein, der Ball springt gegen _P0_ und ins Netz</commentary>
|
||||||
|
<commentary>Eigentor durch _P0_, es steht damit _RE_</commentary>
|
||||||
<commentary>Ein Billiardball im 5-Meterraum trifft _P0_ und rollt über die Linie</commentary>
|
<commentary>Ein Billiardball im 5-Meterraum trifft _P0_ und rollt über die Linie</commentary>
|
||||||
|
<commentary cond="_GOALS[1 - _TT_]_ = _GOALS_TT__ - 1">Eigentor! _T[1 - _TT_]_ geht in Führung!</commentary>
|
||||||
|
<commentary cond="_GOALS[1 - _TT_]_ = _GOALS_TT__ + 1">Durch ein Eigentor von _P0_ geht _T[1 - _TT_]_ in Führung!</commentary>
|
||||||
|
<commentary cond="_GOALS[1 - _TT_]_ = _GOALS_TT__ - 1">_P0_ schießt ein Eigentor, _T[1 - _TT_]_ ist wieder dran!</commentary>
|
||||||
|
<commentary cond="_GOALS[1 - _TT_]_ < _GOALS_TT__ - 1">_P0_ schießt ein Eigentor, aber ob das _T[1 - _TT_]_ noch hilft?</commentary>
|
||||||
|
<commentary cond="_GD_ = 0">Das Eigentor von _P0_ bringt _T[1 - _TT_]_ den Ausgleich</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>scoring_chance</name>
|
<name>scoring_chance</name>
|
||||||
<commentary>_P0_ schießt ins lange Eck</commentary>
|
<commentary>_P0_ schießt ins lange Eck</commentary>
|
||||||
<commentary>_P0_ lässt zwei Verteiger stehen und versetzt den Torwart</commentary>
|
<commentary>_P0_ lässt zwei Verteiger stehen und versetzt den Torwart</commentary>
|
||||||
<commentary>_P0_ verspringt der Ball aber er sein Schuss fliegt Richtung Tor </commentary>
|
<commentary>_P0_ verspringt der Ball aber, sein Schuss fliegt Richtung Tor </commentary>
|
||||||
<commentary>_P0_ zieht zur Mitte und schießt</commentary>
|
<commentary>_P0_ zieht zur Mitte und schießt</commentary>
|
||||||
<commentary>_P1_ versucht es einfach aus 25 Metern</commentary>
|
<commentary>_P1_ versucht es einfach aus 25 Metern</commentary>
|
||||||
<commentary>_P0_ dribbelt im 16er, dreht sich und schießt</commentary>
|
<commentary>_P0_ dribbelt im 16er, dreht sich und schießt</commentary>
|
||||||
@@ -364,47 +385,84 @@
|
|||||||
<commentary>_P0_ dreht sich um die eigene Achse und schießt</commentary>
|
<commentary>_P0_ dreht sich um die eigene Achse und schießt</commentary>
|
||||||
<commentary>Fallrückzieher von _P0_!</commentary>
|
<commentary>Fallrückzieher von _P0_!</commentary>
|
||||||
<commentary>_P0_ nimmt Fahrt auf und schießt!</commentary>
|
<commentary>_P0_ nimmt Fahrt auf und schießt!</commentary>
|
||||||
|
<commentary cond="_GD_ = 0">_P0_ hat die Chance zum Führungstreffer</commentary>
|
||||||
|
<commentary cond="_GD_ > 0 and _GD_ < 3 and _TT_ = _TWN_">_P0_ kann die Führung ausbauen</commentary>
|
||||||
|
<commentary cond="_GD_ > 0 and _TT_ = _TWN_">_P0_ kann auf [_GOALS_TT__ + 1] : _GOALS[1 - _TT_]_ erhöhen</commentary>
|
||||||
|
<commentary cond="_GD_ = 1 and _TT_ = _TLN_">_P0_ hat den Ausgleich auf dem Fuß</commentary>
|
||||||
|
<commentary cond="_GD_ = 2 and _TT_ = _TLN_">_P0_ kann den Anschlusstreffer erzielen</commentary>
|
||||||
|
<commentary cond="_MT_ < 5">_P0_ hat vielleicht die letzte Chance des Spiels</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>temp_injury</name>
|
<name>temp_injury</name>
|
||||||
<commentary>_P0_ ist leicht angeschlagen, kann aber weitermachen</commentary>
|
<commentary>_P0_ ist leicht angeschlagen, kann aber weitermachen</commentary>
|
||||||
<commentary>_P0_ hat eine Platzwunde, aber sie wird getackert und er kann weiterspielen</commentary>
|
<commentary>_P0_ hat eine Platzwunde, aber sie wird getackert und er kann weiterspielen</commentary>
|
||||||
<commentary>_P0_ hat einen Krampf, spielt weiter</commentary>
|
<commentary>_P0_ hat einen Krampf, spielt weiter</commentary>
|
||||||
|
<commentary>Leichte Blessur bei _P0_</commentary>
|
||||||
|
<commentary>_P0_ humpelt etwas, macht aber weiter</commentary>
|
||||||
|
<commentary>_P0_ hält sich den Rücken, aber nach einer kurzen Pause spielt er weiter</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>injury</name>
|
<name>injury</name>
|
||||||
<commentary>_P0_ scheint eine schwere Verletzung davongetragen zu haben</commentary>
|
<commentary>_P0_ scheint eine schwere Verletzung davongetragen zu haben</commentary>
|
||||||
|
<commentary>_P0_ ist verletzt</commentary>
|
||||||
|
<commentary>_P0_ muss ausgewechselt werden</commentary>
|
||||||
|
<commentary>_P0_ kann nicht weiterspielen, muss raus</commentary>
|
||||||
|
<commentary>_P0_ muss mit einer Verletzung raus</commentary>
|
||||||
<commentary>_P0_ wird wohl das Feld verlassen müssen, scheint eine Knöchelverletzung zu sein</commentary>
|
<commentary>_P0_ wird wohl das Feld verlassen müssen, scheint eine Knöchelverletzung zu sein</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>penalty</name>
|
<name>penalty</name>
|
||||||
<commentary>_P0_ hat schon mal einen Elfer verschossen, hoffentlich trifft er diesmal</commentary>
|
<commentary>_P0_ hat schon mal einen Elfer verschossen, hoffentlich trifft er diesmal</commentary>
|
||||||
<commentary>_P0_ darf an den Elfmeterpunkt</commentary>
|
<commentary>_P0_ darf an den Elfmeterpunkt</commentary>
|
||||||
|
<commentary>_P0_ schießt den Elfer</commentary>
|
||||||
|
<commentary>_P0_ versucht sich aus 11 Metern</commentary>
|
||||||
|
<commentary>_P0_ schnappt sich den Ball und schießt den Elfer</commentary>
|
||||||
<commentary>_P0_ übernimmt die Verantwortung und tritt den Elfmeter</commentary>
|
<commentary>_P0_ übernimmt die Verantwortung und tritt den Elfmeter</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>substitution</name>
|
<name>substitution</name>
|
||||||
<commentary>_P1_ verlässt unter großem Applaus das Spielfeld, _P0_ ersetzt ihn</commentary>
|
<commentary>_P1_ verlässt unter großem Applaus das Spielfeld, _P0_ ersetzt ihn</commentary>
|
||||||
<commentary>_T_TT__ wechselt aus, _P0_ kommt für _P1_</commentary>
|
<commentary>_T_TT__ wechselt aus, _P0_ kommt für _P1_</commentary>
|
||||||
<commentary>_P1_ wird vom Platz gebuht und durch _P0_ ersetzt</commentary>
|
<commentary>_P0_ ersetzt _P1_</commentary>
|
||||||
|
<commentary>_P0_ kommt für _P1_</commentary>
|
||||||
|
<commentary>_P1_ geht raus, _P0_ darf ran</commentary>
|
||||||
|
<commentary cond="_GOALS_TT__ = 0 and _INJ_TT__ = 0">_P1_ wird vom Platz gebuht und durch _P0_ ersetzt</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>send_off</name>
|
<name>send_off</name>
|
||||||
<commentary>_P0_ wurde vom Platz gestellt</commentary>
|
<commentary>_P0_ wurde vom Platz gestellt</commentary>
|
||||||
<commentary>_P0_ wird vorzeitig zum Duschen geschickt</commentary>
|
<commentary>_P0_ wird vorzeitig zum Duschen geschickt</commentary>
|
||||||
<commentary>Der Referee schickt _P0_ zum Duschen</commentary>
|
<commentary>Der Referee schickt _P0_ zum Duschen</commentary>
|
||||||
<commentary>Das Spiel ist vorbei für _P0_</commentary>
|
<commentary>Das Spiel ist vorbei für _P0_</commentary>
|
||||||
|
<commentary>Das reicht dem Referee, _P0_ muss raus</commentary>
|
||||||
|
<commentary>_P0_ muss vom Platz</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>boost_change</name>
|
<name>boost_change</name>
|
||||||
<commentary>_T_TT__ hat den Boost auf _EX_ gestellt</commentary>
|
<commentary>_T_TT__ hat den Boost auf _EX_ gestellt</commentary>
|
||||||
|
<commentary>_T_TT__ versucht es mit Boost _EX_</commentary>
|
||||||
|
<commentary>Boost ist jetzt _EX_ für _T_TT__</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>structure_change</name>
|
<name>structure_change</name>
|
||||||
<commentary>_T_TT__ hat das System auf _EX_ umgestellt</commentary>
|
<commentary>_T_TT__ hat das System auf _EX_ umgestellt</commentary>
|
||||||
|
<commentary>_T_TT__ stellt um auf _EX_</commentary>
|
||||||
|
<commentary>_T_TT__ spielt ab sofort _EX_</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
<event>
|
<event>
|
||||||
<name>style_change</name>
|
<name>style_change</name>
|
||||||
<commentary>_T_TT__ hat den Spielstil auf _EX_ umgestellt</commentary>
|
<commentary>_T_TT__ hat den Spielstil auf _EX_ umgestellt</commentary>
|
||||||
|
<commentary>_T_TT__s Stil ist _EX_ jetzt</commentary>
|
||||||
|
<commentary>_T_TT__s stellt auf _EX_ um</commentary>
|
||||||
|
<commentary>_T_TT__s probiert es mit _EX_</commentary>
|
||||||
</event>
|
</event>
|
||||||
|
|
||||||
</lg_commentary>
|
</lg_commentary>
|
||||||
|
Reference in New Issue
Block a user