﻿count_buildings = { #200g buildings
  set_variable = {
    name = num_$building$
    value = 0
  }
  set_variable = {
    name = num_$building$_blocked
    value = 0
  }

  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 1
    }
    add_buildings_to_list = { building = hill_fort }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 2
    }
    add_buildings_to_list = { building = barracks_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 3
    }
    add_buildings_to_list = { building = latifundia_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 4
    }
    add_buildings_to_list = { building = local_forum_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 19
    }
    add_buildings_to_list = { building = basic_settlement_infratructure_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 20
    }
    add_buildings_to_list = { building = slave_mine_building }
  }

  # count all available buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      has_siege = no
      state_loyalty >= 33
      NOT = {
        has_variable = dont_remove_$building$
      }
    }

    owner = {
      change_variable = {
        name = num_$building$
        add = 1
      }
    }
  }

  # add all buildings to the list


  # count all blocked buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      OR = {
        has_variable = dont_remove_$building$
        has_siege = yes
        state_loyalty < 33
      }
    }
    prev = {
      change_variable = {
        name = num_$building$_blocked
        add = 1
      }
    }
  }

  #get the cost
  set_variable = {
    name = $building$_cost
    value = settlement_building_cost
  }
  change_variable = {
    name = $building$_cost
    multiply = var:num_$building$
  }
  round_variable = {
    name = $building$_cost
    nearest = 0.01
  }
}
#
count_city_buildings_100 = {
  set_variable = {
    name = num_$building$
    value = 0
  }
  set_variable = {
    name = num_$building$_blocked
    value = 0
  }

  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 6
    }
    add_buildings_to_list = { building = military_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 8
    }
    add_buildings_to_list = { building = commerce_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 9
    }
    add_buildings_to_list = { building = town_hall_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 12
    }
    add_buildings_to_list = { building = population_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 13
    }
    add_buildings_to_list = { building = library_building }
  }

  # count all available buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      has_siege = no
      state_loyalty >= 33
      NOT = {
        has_variable = dont_remove_$building$
      }
    }
    while = {
      count = real_num_of_$building$

      owner = {
        change_variable = {
          name = num_$building$
          add = 1
        }
      }
    }
  }

  # add all buildings to the list


  # count all blocked buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      OR = {
        has_variable = dont_remove_$building$
        has_siege = yes
        state_loyalty < 33
      }
    }
    while = {
      count = real_num_of_$building$

      owner = {
        change_variable = {
          name = num_$building$_blocked
          add = 1
        }
      }
    }
  }


  set_variable = {
    name = $building$_cost
    value = city_building_cost_100
  }
  change_variable = {
    name = $building$_cost
    multiply = var:num_$building$
  }
  round_variable = {
    name = $building$_cost
    nearest = 0.01
  }
}

count_city_buildings_150 = {
  set_variable = {
    name = num_$building$
    value = 0
  }
  set_variable = {
    name = num_$building$_blocked
    value = 0
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 5
    }
    add_buildings_to_list = { building = fortress_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 21
    }
    add_buildings_to_list = { building = fortress_ramparts_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 22
    }
    add_buildings_to_list = { building = port_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 10
    }
    add_buildings_to_list = { building = court_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 11
    }
    add_buildings_to_list = { building = academy_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 14
    }
    add_buildings_to_list = { building = forum_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 15
    }
    add_buildings_to_list = { building = workshop_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 18
    }
    add_buildings_to_list = { building = aqueduct_building }
  }

  # count all available buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      has_siege = no
      state_loyalty >= 33
      NOT = {
        has_variable = dont_remove_$building$
      }
    }
    while = {
      count = real_num_of_$building$

      owner = {
        change_variable = {
          name = num_$building$
          add = 1
        }
      }
    }
  }

  # add all buildings to the list


  # count all blocked buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      OR = {
        has_variable = dont_remove_$building$
        has_siege = yes
        state_loyalty < 33
      }
    }
    while = {
      count = real_num_of_$building$

      owner = {
        change_variable = {
          name = num_$building$_blocked
          add = 1
        }
      }
    }
  }


  set_variable = {
    name = $building$_cost
    value = city_building_cost_150
  }
  change_variable = {
    name = $building$_cost
    multiply = var:num_$building$
  }
  round_variable = {
    name = $building$_cost
    nearest = 0.01
  }
}

count_city_buildings_300 = {
  set_variable = {
    name = num_$building$
    value = 0
  }
  set_variable = {
    name = num_$building$_blocked
    value = 0
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 7
    }
    add_buildings_to_list = { building = foundry_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 16
    }
    add_buildings_to_list = { building = temple_building }
  }
  if = {
    limit = {
      has_variable = expand_list
      var:expand_list = 17
    }
    add_buildings_to_list = { building = theathre_building }
  }

  # count all available buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      has_siege = no
      state_loyalty >= 33
      NOT = {
        has_variable = dont_remove_$building$
      }
    }
    while = {
      count = real_num_of_$building$

      owner = {
        change_variable = {
          name = num_$building$
          add = 1
        }
      }
    }
  }

  # add all buildings to the list


  # count all blocked buildings

  every_owned_province = {
    limit = {
      has_building = $building$
      OR = {
        has_variable = dont_remove_$building$
        has_siege = yes
        state_loyalty < 33
      }
    }
    while = {
      count = real_num_of_$building$

      owner = {
        change_variable = {
          name = num_$building$_blocked
          add = 1
        }
      }
    }
  }


  set_variable = {
    name = $building$_cost
    value = city_building_cost_300
  }
  change_variable = {
    name = $building$_cost
    multiply = var:num_$building$
  }
  round_variable = {
    name = $building$_cost
    nearest = 0.01
  }
}

add_buildings_to_list = {
  clear_variable_list = all_$building$
  every_owned_province = {
    limit = {
      has_building = $building$
    }
    owner = {
      add_to_variable_list = {
        name = all_$building$
        target = prev
      }
    }
  }
  # causes awful blinking whenever you remove a building :(
  # ordered_in_list = {
  #   variable = all_$building$_temp
  #   order_by = total_population
  #   min = 0
  #
  #   root = {
  #     add_to_variable_list = {
  #       name = all_$building$
  #       target = prev
  #     }
  #   }
  # }
  # clear_variable_list = all_$building$_temp
}

dont_remove = {
  if = {
    limit = {
      has_variable = dont_remove_$building$
    }
    remove_variable = dont_remove_$building$
  }
  else = {
    set_variable = dont_remove_$building$
  }
}

expand_list = {
  if = {
    limit = {
      has_variable = expand_$building$
    }
    remove_variable = expand_$building$
  }
  else = {
    set_variable = expand_$building$
  }
}

close_list = {
  if = {
    limit = {
      var:num_$building$ = 0
      var:num_$building$_blocked = 0
    }
    remove_variable = expand_list
  }
}
