/* * Seven Kingdoms: Ancient Adversaries * * Copyright 1997,1998 Enlight Software Ltd. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ //Filename : OF_RESE2.CPP //Description : Firm Research Center - AI functions #include #include #include #include #include #include //--------- Begin of function FirmResearch::process_ai ---------// void FirmResearch::process_ai() { //---- think about which technology to research ----// if( !tech_id ) think_new_research(); //------- recruit workers ---------// if( info.game_date%15==firm_recno%15 ) { if( worker_count < MAX_WORKER ) ai_recruit_worker(); } //----- think about closing down this firm -----// if( info.game_date%30==firm_recno%30 ) { if( think_del() ) return; } } //----------- End of function FirmResearch::process_ai -----------// //------- Begin of function FirmResearch::think_del -----------// // // Think about deleting this firm. // int FirmResearch::think_del() { //----- if all technologies have been researched -----// if( nation_array[nation_recno]->total_tech_level() == tech_res.total_tech_level ) // all technology have been researched { ai_del_firm(); return 1; } //----------------------------------------------// if( worker_count > 0 ) return 0; //-- check whether the firm is linked to any towns or not --// for( int i=0 ; i0 ; techId-- ) { techInfo = tech_res[techId]; if( techInfo->can_research(nation_recno) ) { curRating = 100 + techInfo->is_nation_researching(nation_recno)*20; if( curRating > bestRating || ( curRating==bestRating && m.random(2)==0 ) ) { bestTechId = techId; bestRating = curRating; } } } //------------------------------------// if( bestTechId ) start_research( bestTechId, COMMAND_AI ); } //------ End of function FirmResearch::think_new_research -------//