1 /**********************************************************************
2 Freeciv - Copyright (C) 2005 The Freeciv Team
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; either version 2, or (at your option)
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
12 ***********************************************************************/
13 #ifndef FC__TECHTOOLS_H
14 #define FC__TECHTOOLS_H
21 void research_apply_penalty(struct research
*presearch
, Tech_type_id tech
,
23 void do_tech_parasite_effect(struct player
*pplayer
);
25 void send_research_info(const struct research
*presearch
,
26 const struct conn_list
*dest
);
28 void script_tech_learned(struct research
*presearch
,
29 struct player
*originating_plr
, struct advance
*tech
,
31 void found_new_tech(struct research
*presearch
, Tech_type_id tech_found
,
32 bool was_discovery
, bool saving_bulbs
);
33 void update_bulbs(struct player
*pplayer
, int bulbs
, bool check_tech
);
34 void init_tech(struct research
*presearch
, bool update
);
35 void choose_tech(struct research
*presearch
, Tech_type_id tech
);
36 void choose_random_tech(struct research
*presearch
);
37 void choose_tech_goal(struct research
*presearch
, Tech_type_id tech
);
38 Tech_type_id
steal_a_tech(struct player
*pplayer
, struct player
*target
,
39 Tech_type_id preferred
);
41 Tech_type_id
give_immediate_free_tech(struct research
*presearch
);
42 void give_initial_techs(struct research
*presearch
, int num_random_techs
);
44 bool tech_transfer(struct player
*plr_recv
, struct player
*plr_donor
,
47 Tech_type_id
pick_random_tech(const struct research
*presearch
);
48 Tech_type_id
pick_cheapest_tech(const struct research
*presearch
);
50 #endif /* FC__TECHTOOLS_H */