Author: pepeto
Date: Mon Aug 25 17:43:30 2014
New Revision: 26034
URL: http://svn.gna.org/viewcvs/freeciv?rev=26034&view=rev
Log:
Emit the "tech_researched" script signal for all players sharing the same
research.
See gna bug #22474
Modified:
trunk/server/diplhand.c
trunk/server/scripting/api_server_edit.c
trunk/server/techtools.c
Modified: trunk/server/diplhand.c
URL:
http://svn.gna.org/viewcvs/freeciv/trunk/server/diplhand.c?rev=26034&r1=26033&r2=26034&view=diff
==============================================================================
--- trunk/server/diplhand.c (original)
+++ trunk/server/diplhand.c Mon Aug 25 17:43:30 2014
@@ -454,11 +454,13 @@
advance_name,
nation_plural_for_player(pgiver));
- script_server_signal_emit("tech_researched", 3,
- API_TYPE_TECH_TYPE,
- advance_by_number(pclause->value),
- API_TYPE_PLAYER, pdest,
- API_TYPE_STRING, "traded");
+ research_players_iterate(presearch, member) {
+ script_server_signal_emit("tech_researched", 3,
+ API_TYPE_TECH_TYPE,
+ advance_by_number(pclause->value),
+ API_TYPE_PLAYER, member,
+ API_TYPE_STRING, "traded");
+ } research_players_iterate_end;
do_dipl_cost(pdest, pclause->value);
found_new_tech(presearch, pclause->value, FALSE, TRUE);
}
Modified: trunk/server/scripting/api_server_edit.c
URL:
http://svn.gna.org/viewcvs/freeciv/trunk/server/scripting/api_server_edit.c?rev=26034&r1=26033&r2=26034&view=diff
==============================================================================
--- trunk/server/scripting/api_server_edit.c (original)
+++ trunk/server/scripting/api_server_edit.c Mon Aug 25 17:43:30 2014
@@ -282,10 +282,12 @@
do_free_cost(pplayer, id);
found_new_tech(presearch, id, FALSE, TRUE);
result = advance_by_number(id);
- script_server_signal_emit("tech_researched", 3,
- API_TYPE_TECH_TYPE, result,
- API_TYPE_PLAYER, pplayer,
- API_TYPE_STRING, reason);
+ research_players_iterate(presearch, member) {
+ script_server_signal_emit("tech_researched", 3,
+ API_TYPE_TECH_TYPE, result,
+ API_TYPE_PLAYER, member,
+ API_TYPE_STRING, reason);
+ } research_players_iterate_end;
return result;
} else {
return NULL;
Modified: trunk/server/techtools.c
URL:
http://svn.gna.org/viewcvs/freeciv/trunk/server/techtools.c?rev=26034&r1=26033&r2=26034&view=diff
==============================================================================
--- trunk/server/techtools.c (original)
+++ trunk/server/techtools.c Mon Aug 25 17:43:30 2014
@@ -122,11 +122,13 @@
/* do all the updates needed after finding new tech */
found_new_tech(research, research->researching, TRUE, TRUE);
- script_server_signal_emit("tech_researched", 3,
- API_TYPE_TECH_TYPE,
- advance_by_number(researched_tech),
- API_TYPE_PLAYER, plr,
- API_TYPE_STRING, "researched");
+ research_players_iterate(research, member) {
+ script_server_signal_emit("tech_researched", 3,
+ API_TYPE_TECH_TYPE,
+ advance_by_number(researched_tech),
+ API_TYPE_PLAYER, member,
+ API_TYPE_STRING, "researched");
+ } research_players_iterate_end;
}
/****************************************************************************
@@ -188,11 +190,13 @@
do_free_cost(pplayer, i);
found_new_tech(presearch, i, FALSE, TRUE);
- script_server_signal_emit("tech_researched", 3,
- API_TYPE_TECH_TYPE,
- advance_by_number(i),
- API_TYPE_PLAYER, pplayer,
- API_TYPE_STRING, "stolen");
+ research_players_iterate(presearch, member) {
+ script_server_signal_emit("tech_researched", 3,
+ API_TYPE_TECH_TYPE,
+ advance_by_number(i),
+ API_TYPE_PLAYER, member,
+ API_TYPE_STRING, "stolen");
+ } research_players_iterate_end;
break;
}
}
@@ -1255,11 +1259,13 @@
do_conquer_cost(pplayer, stolen_tech);
found_new_tech(presearch, stolen_tech, FALSE, TRUE);
- script_server_signal_emit("tech_researched", 3,
- API_TYPE_TECH_TYPE,
- advance_by_number(stolen_tech),
- API_TYPE_PLAYER, pplayer,
- API_TYPE_STRING, "stolen");
+ research_players_iterate(presearch, member) {
+ script_server_signal_emit("tech_researched", 3,
+ API_TYPE_TECH_TYPE,
+ advance_by_number(stolen_tech),
+ API_TYPE_PLAYER, member,
+ API_TYPE_STRING, "stolen");
+ } research_players_iterate_end;
return stolen_tech;
};
_______________________________________________
Freeciv-commits mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-commits