//--------- Begin of function FirmCamp::deinit ---------// // void FirmCamp::deinit() { int firmRecno = firm_recno; // save the firm_recno first for reset_unit_home_camp() Firm::deinit(); //-------------------------------------------// int saveOverseerRecno = overseer_recno; overseer_recno = 0; // set overseer_recno to 0 when calling update_influence(), so this base is disregarded. update_influence(); overseer_recno = saveOverseerRecno; clear_defense_mode(); //---- reset all units whose home_camp_firm_recno is this firm ----// reset_unit_home_camp(firmRecno); // this must be called at last as Firm::deinit() will create new units. //--- if this camp is in the Nation::attack_camp_array[], remove it now ---// reset_attack_camp(firmRecno); }
//--------- Begin of function FirmCamp::deinit ---------// // void FirmCamp::deinit() { int firmRecno = firm_recno; // save the firm_recno first for reset_unit_home_camp() Firm::deinit(); //-------------------------------------------// update_influence(); //---- reset all units whose home_camp_firm_recno is this firm ----// reset_unit_home_camp(firmRecno); // this must be called at last as Firm::deinit() will create new units. //--- if this camp is in the Nation::attack_camp_array[], remove it now ---// reset_attack_camp(firmRecno); }
//------- Begin of function FirmCamp::change_nation ---------// // void FirmCamp::change_nation(int newNationRecno) { //--- update the UnitInfo vars of the soldiers in this firm ---// for( int i=0 ; i<soldier_count ; i++ ) unit_res[ soldier_array[i].unit_id ]->unit_change_nation(newNationRecno, nation_recno, soldier_array[i].rank_id ); //----- reset unit's home camp to this firm -----// reset_unit_home_camp(firm_recno); //--- if this camp is in the Nation::attack_camp_array[], remove it now ---// reset_attack_camp(firm_recno); //---- reset AI vars --------// ai_capture_town_recno = 0; ai_recruiting_soldier = 0; //-------- change the nation of this firm now ----------// Firm::change_nation(newNationRecno); }