Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //CIVDOS: AI CONTINENT POLICY (v 1.0)
- //from FUN_basic_actions_for_current_civ(civ)
- //...omitted...
- //STRATEGY FOR CONTINENTS...
- //25fb:053b
- max_cities_on_cont = -1;
- for (i = 1; i < 15; i++) //continents
- {
- att_desire_points = 0; //how much we want to attack...
- def_desire_points = 0; //how much we want to defend...
- policy_flags = 0;
- total_cit_per_cont = 0;
- total_def_per_cont = 0;
- for (j = 1; j < 8; j++) //civs
- {
- //25fb:05ee
- if (defence_per_cont[j][i] != 0
- && (attack_per_cont[civ][i] < attack_per_cont[j][i] || city_counter_per_cont[j][i] != 0)
- && ((diplomacy_status[civ][j]&3) == 1 || (diplomacy_status[civ][j]&x0100) != 0)) //contact and war OR unknown dipl. status...
- {
- //25fb:064f
- if (defence_per_cont[j][i] < attack_per_cont[civ][i]
- || attack_per_cont[j][i] < defence_per_cont[civ][i]
- || city_counter_per_cont[civ][i] == 0)
- {
- att_desire_points++;
- }
- else
- def_desire_points++;
- }
- if (defence_per_cont[j][i] != 0 && j == player_civ //PLAYER forces here!
- && (diplomacy_status[civ][j]&2) != 0 //peace with player
- && attack_per_cont[civ][i]/2+defence_per_cont[civ][i] < attack_per_cont[j][i])
- {
- def_desire_points++;
- }
- total_def_per_cont += defence_per_cont[j][i];
- total_cit_per_cont += city_counter_per_cont[j][i];
- if (defence_per_cont[j][i] != 0) //other civ has some units on this continent...
- {
- if ((diplomacy_status[civ][j]&2)==0) //war
- {
- policy_flags |= 2;
- }
- else
- {
- policy_flags |= 1;
- }
- }
- } //civs loop
- //25fb:068d
- if (city_counter_per_cont[0][i] != 0) //if there are some barbarian cities on this continent...
- {
- att_desire_points++;
- }
- my_cont_strat = strat_per_cont[civ][i];
- if (((defence_per_cont[civ][i]+total_def_per_cont)*2-continent_sizes[i] <= 0
- && (city_counter_per_cont[civ][i]+total_cit_per_cont)*6+2 <= good_squares_on_cont[i])
- //25fb:06ef
- || (check_tech(civ,7) == 0) //civ doesn't know mapmaking
- pol = 0;
- else
- pol = 5; //transport
- //25fb:0709
- strat_per_cont[civ][i] = pol; //SI
- if (att_desire_points != 0)
- strat_per_cont[civ][i] = 1; //attack
- if (def_desire_points != 0)
- strat_per_cont[civ][i] = 2; //defence (even if att_desire_points > 0, game still will use DEFENCE policy)
- //25fb:072d
- if (defence_per_cont[civ][i] == 0 && city_counter_per_cont[civ][i] == 0 ///we have no units and no cities on this continent...
- && policy_flags != 1) //other civ has some units here + we at WAR with this civ...
- strat_per_cont[civ][i] = 1; //->attack
- if (max_cities_on_cont < city_counter_per_cont[civ][i])
- max_cities_on_cont = city_counter_per_cont[civ][i];
- if (strat_per_cont[civ][i] != my_cont_strat
- && human_civ_bits&(1<<civ) == 0)
- {
- FUN_change_production_on_continent(civ,i); //everytime when policy for continent is changed, AI changed production in all cities on this continent...
- }
- if (defence_per_cont[civ][i] != 0
- && city_counter_per_cont[civ][i] > 1)
- {
- curr_civ_bit |= (1<<civ);
- }
- }
- //...omitted...
Advertisement
Add Comment
Please, Sign In to add comment