

# Gas Demand-Offer
# set_temp_variable = { temp_opinion = -+ # }


#############
#####EOC#####
#############

###Set Initial Vars###

eoc_set_initial_values = {
	set_variable = { eoc_private_taxes_rate = 20}
	set_variable = { eoc_civilian_taxes_rate = 20}
	set_variable = { eoc_military_taxes_rate = 20}
	set_variable = { eoc_dockyard_taxes_rate = 20}
	set_variable = { eoc_poor_taxes_rate = 20}
	set_variable = { eoc_middle_taxes_rate = 20}
	set_variable = { eoc_rich_taxes_rate = 20}	
	set_variable = {eoc_percentage_primary_initial = 0.5}
	set_variable = {eoc_percentage_secondary_initial  = 0.4}
	set_variable = {eoc_percentage_tertiary_initial  = 0.1}
	set_variable = { years_check = 1 }
	set_variable = { trade_export_tariffs = 0}
	set_variable = { trade_import_tariffs = 0}
}

calculate_years = {
	
	# Set global.year_check to 1 if a year passed
	if = {
		limit = {
			check_variable = {
				var =  years_check
				value = 12
				compare = greater_than_or_equals
			}
		}
		set_variable = {  years_check = 0 }
	}
	
	#Add to global.year_check if not passed a year
	if = {
		limit = {
			check_variable = {
				 global.years_check < 12
			}
		}
		add_to_variable = { years_check = 1 }
	}
}

#Calculate GDP

eoc_calc_GDP = {

	set_variable = {eoc_gdp_civilian = 80}
	set_variable = {eoc_gdp_military = 40}
	set_variable = {eoc_gdp_dockyard = 30}
	
	set_variable = { eoc_country_civilian_factories = num_of_civilian_factories }
	set_variable = { eoc_country_military_factories = num_of_military_factories }
	set_variable = { eoc_country_naval_factories = num_of_naval_factories }
	
	set_variable = { eoc_gdp_civilian_total = eoc_country_civilian_factories }
	set_variable = { eoc_gdp_military_total = eoc_country_military_factories }
	set_variable = { eoc_gdp_dockyard_total = eoc_country_naval_factories }
	
	multiply_variable = {eoc_gdp_civilian_total = eoc_gdp_civilian}
	multiply_variable = {eoc_gdp_military_total = eoc_gdp_military}
	multiply_variable = {eoc_gdp_dockyard_total = eoc_gdp_dockyard}
	
	set_variable = {eoc_total_gdp = 0}
	
	add_to_variable = { eoc_total_gdp = eoc_gdp_civilian_total }
	add_to_variable = { eoc_total_gdp = eoc_gdp_military_total }
	add_to_variable = { eoc_total_gdp = eoc_gdp_dockyard_total }
	
	calculate_resource_gdp = yes
	
	add_to_variable = { eoc_total_gdp = eoc_resource_gdp }
	
	#Change to Billions
	divide_variable = { eoc_total_gdp = 1000}
}


#Calculate GDP/C

gdp_capita_calc = {

	set_variable = { eoc_country_population = max_manpower_k}

	set_variable = { eoc_total_gdp_capita = eoc_total_gdp }

	multiply_variable = {eoc_total_gdp_capita = 100}

	divide_variable = {eoc_total_gdp_capita = eoc_country_population}

	multiply_variable = { eoc_total_gdp_capita = 1000 }


	clamp_variable = {
		var = eoc_total_gdp_capita
		max = 2147481
		min = 0.01
	}

}

#Calculate % of GDP per sector

gdp_percentage_calc_superior_initial = {

	set_variable = {eoc_total_gdp_superior = eoc_total_gdp}

	set_variable = { eoc_percentage_primary_number = eoc_total_gdp }
	set_variable = { eoc_percentage_secondary_number = eoc_total_gdp }
	set_variable = { eoc_percentage_tertiary_number = eoc_total_gdp }	
	
	multiply_variable = { eoc_percentage_primary_number = eoc_percentage_primary_initial }
	multiply_variable = { eoc_percentage_secondary_number = eoc_percentage_secondary_initial }
	multiply_variable = { eoc_percentage_tertiary_number = eoc_percentage_tertiary_initial }	

	set_variable = { eoc_percentage_primary_percentage = eoc_percentage_primary_number}
	multiply_variable = {eoc_percentage_primary_percentage = 100}	
	divide_variable = { eoc_percentage_primary_percentage = eoc_total_gdp }

	set_variable = { eoc_percentage_secondary_percentage = eoc_percentage_secondary_number}
	multiply_variable = {eoc_percentage_secondary_percentage = 100}	
	divide_variable = { eoc_percentage_secondary_percentage = eoc_total_gdp }

	set_variable = { eoc_percentage_tertiary_percentage = eoc_percentage_tertiary_number}
	multiply_variable = {eoc_percentage_tertiary_percentage = 100}	
	divide_variable = { eoc_percentage_tertiary_percentage = eoc_total_gdp }
		
}

gdp_percentage_calc_superior_drift = {

	set_variable = { eoc_percentage_primary_number_final = eoc_total_gdp }
	multiply_variable = { eoc_percentage_primary_number_final = eoc_percentage_primary_percentage}
	divide_variable = { eoc_percentage_primary_number_final = 100 }

	set_variable = { eoc_percentage_secondary_number_final = eoc_total_gdp }
	multiply_variable = { eoc_percentage_secondary_number_final = eoc_percentage_secondary_percentage}
	divide_variable = { eoc_percentage_secondary_number_final = 100 }

	set_variable = { eoc_percentage_tertiary_number_final = eoc_total_gdp }
	multiply_variable = { eoc_percentage_tertiary_number_final = eoc_percentage_tertiary_percentage}
	divide_variable = { eoc_percentage_tertiary_number_final = 100 }

}

eoc_private_sector_calc = {

	
	set_variable = { eoc_total_civs = num_of_civilian_factories}
	set_variable = { eoc_free_civs = num_of_civilian_factories_available_for_projects}
	set_variable = { eoc_private_eco_size = 100 }
	
	multiply_variable = { eoc_free_civs = 100}
	divide_variable = {eoc_free_civs = eoc_total_civs }
	subtract_from_variable = {eoc_private_eco_size = eoc_free_civs}
}




#Taxes

eoc_calculate_taxes = {

	set_variable = { total_revenue = 0}

	set_variable = { eoc_civilian_taxes = eoc_gdp_civilian_total }
	set_variable = { eoc_military_taxes = eoc_gdp_military_total }
	set_variable = { eoc_dockyard_taxes = eoc_gdp_dockyard_total }
	set_variable = { eoc_private_taxes = eoc_private_eco_size }
	divide_variable = { eoc_private_taxes = 100}
	
	set_variable = { eoc_poor_taxes = eoc_country_population_sectors_poor }
	set_variable = { eoc_middle_taxes = eoc_country_population_sectors_middle }
	set_variable = { eoc_rich_taxes = eoc_country_population_sectors_rich }
	
	divide_variable = { eoc_poor_taxes = 6}
	divide_variable = { eoc_middle_taxes = 4}
	divide_variable = { eoc_rich_taxes = 1}
	
	multiply_variable = { eoc_poor_taxes = eoc_total_gdp_capita}
	multiply_variable = { eoc_middle_taxes = eoc_total_gdp_capita}
	multiply_variable = { eoc_rich_taxes = eoc_total_gdp_capita}	
	
	multiply_variable = { eoc_poor_taxes = eoc_poor_taxes_rate }
	multiply_variable = { eoc_middle_taxes = eoc_middle_taxes_rate }	
	multiply_variable = { eoc_rich_taxes = eoc_rich_taxes_rate }	
	
	divide_variable = { eoc_poor_taxes = 1}
	divide_variable = { eoc_middle_taxes = 1}
	divide_variable = { eoc_rich_taxes = 1}
	
	multiply_variable = { eoc_private_taxes = eoc_total_gdp }
	
	multiply_variable = { eoc_private_taxes = eoc_private_taxes_rate}
	multiply_variable = { eoc_civilian_taxes = eoc_civilian_taxes_rate}
	multiply_variable = { eoc_military_taxes = eoc_military_taxes_rate}
	multiply_variable = { eoc_dockyard_taxes = eoc_dockyard_taxes_rate}	
	
	divide_variable = { eoc_private_taxes = 60}
	divide_variable = { eoc_civilian_taxes = 100}
	divide_variable = { eoc_military_taxes = 80}
	divide_variable = { eoc_dockyard_taxes = 80}
	
	#Change to Billions
	divide_variable = { eoc_private_taxes = 1}
	divide_variable = { eoc_civilian_taxes = 1000}
	divide_variable = { eoc_military_taxes = 1000}
	divide_variable = { eoc_dockyard_taxes = 1000}
	
	if = {
		limit = {
			check_variable = {
				var = eoc_total_gdp_capita
				value = 0.1
				compare = less_than_or_equals
			}
		}
		divide_variable = { eoc_poor_taxes = 10}
		divide_variable = { eoc_middle_taxes = 10}
		divide_variable = { eoc_rich_taxes = 10}		
	}
	else_if = {
		limit = {
			check_variable = { eoc_total_gdp_capita > 0.1 }
		}
		divide_variable = { eoc_poor_taxes = 1000}
		divide_variable = { eoc_middle_taxes = 1000}
		divide_variable = { eoc_rich_taxes = 1000}
	}

	
	###Clamp for Overflow###
	clamp_variable = {
		var = eoc_poor_taxes
		max = 2147483
		min = 0.0001
	}
	clamp_variable = {
		var = eoc_middle_taxes
		max = 2147483
		min = 0.0001
	}
	clamp_variable = {
		var = eoc_rich_taxes
		max = 2147483
		min = 0.0001
	}	
	clamp_variable = {
		var = eoc_private_taxes
		max = 2147483
		min = 0.0001
	}
	clamp_variable = {
		var = eoc_civilian_taxes
		max = 2147483
		min = 0.0001
	}
	clamp_variable = {
		var = eoc_military_taxes
		max = 2147483
		min = 0.0001
	}	
	clamp_variable = {
		var = eoc_dockyard_taxes
		max = 2147483
		min = 0.0001
	}	
	
	add_to_variable = { total_revenue = eoc_private_taxes}
	add_to_variable = { total_revenue = eoc_civilian_taxes}
	add_to_variable = { total_revenue = eoc_military_taxes}
	add_to_variable = { total_revenue = eoc_dockyard_taxes}
	add_to_variable = { total_revenue = eoc_poor_taxes}
	add_to_variable = { total_revenue = eoc_middle_taxes}
	add_to_variable = { total_revenue = eoc_rich_taxes}
}




#Population sectors

eoc_population_calc_initial = {

	set_variable = { eoc_country_population_sectors = max_manpower_k}
	divide_variable = { eoc_country_population_sectors = 1000 }
	set_variable = { eoc_poor_population = 0.60 }
	set_variable = { eoc_middle_population = 0.30 }
	set_variable = { eoc_rich_population = 0.10 }

	set_variable = { eoc_country_population_sectors_poor = eoc_country_population_sectors}	
	set_variable = { eoc_country_population_sectors_middle = eoc_country_population_sectors}
	set_variable = { eoc_country_population_sectors_rich = eoc_country_population_sectors}	
	
	multiply_variable = { eoc_country_population_sectors_poor = eoc_poor_population }
	multiply_variable = { eoc_country_population_sectors_middle = eoc_middle_population }
	multiply_variable = { eoc_country_population_sectors_rich = eoc_rich_population }	
	
	set_variable = {total_population_old = max_manpower_k}
	divide_variable = { total_population_old = 1000 }
}



#Population drift
eoc_population_drift = {
	
	set_variable = { eoc_poor_population_drift = 0 }
	set_variable = { eoc_middle_population_drift = 0 }
	set_variable = { eoc_rich_population_drift = 0 }

	set_variable = {eoc_poor_population_drift_factor = eoc_percentage_primary_percentage}
	set_variable = {eoc_middle_population_drift_factor = eoc_percentage_secondary_percentage}
	set_variable = {eoc_rich_population_drift_factor = eoc_percentage_tertiary_percentage}	
	
	divide_variable = {eoc_poor_population_drift_factor = 100 }
	divide_variable = {eoc_middle_population_drift_factor = 100 }
	divide_variable = {eoc_rich_population_drift_factor = 100 }
	
	
}



eoc_population_growth = {

	set_variable = { eoc_country_population_sectors = max_manpower_k}
	divide_variable = { eoc_country_population_sectors = 1000 }
	set_variable = {total_population_old_1 = total_population_old}
	
	set_variable = { total_population_new = max_manpower_k}
	divide_variable = { total_population_new = 1000 }
	subtract_from_variable = { total_population_new = total_population_old_1}
	set_variable = { total_population_old = max_manpower_k}
	divide_variable = { total_population_old = 1000 }

	set_variable = { eoc_poor_population_new = total_population_new}
	set_variable = { eoc_middle_population_new = total_population_new}
	set_variable = { eoc_rich_population_new = total_population_new}
	
	multiply_variable = { eoc_poor_population_new = eoc_poor_population_drift_factor}
	multiply_variable = { eoc_middle_population_new = eoc_middle_population_drift_factor}
	multiply_variable = { eoc_rich_population_new = eoc_rich_population_drift_factor}
	
	add_to_variable = { eoc_country_population_sectors = total_population_new }
	add_to_variable = { eoc_country_population_sectors_poor = eoc_poor_population_new}	
	add_to_variable = { eoc_country_population_sectors_middle = eoc_middle_population_new}
	add_to_variable = { eoc_country_population_sectors_rich = eoc_rich_population_new}	
	

	
}

calculate_resource_gdp = {

	set_variable = { eoc_resource_gdp = 0}

	set_variable = { oil_produced = resource_produced@oil }
	set_variable = { aluminium_produced = resource_produced@aluminium }
	set_variable = { rubber_produced = resource_produced@rubber }
	set_variable = { tungsten_produced = resource_produced@tungsten }
	set_variable = { steel_produced = resource_produced@steel }
	set_variable = { chromium_produced = resource_produced@chromium }

	set_variable = { oil_exports_multiplier = 0.006 }
	set_variable = { aluminium_exports_multiplier = 0.005 }
	set_variable = { rubber_exports_multiplier = 0.004 }
	set_variable = { tungsten_exports_multiplier = 0.003 }
	set_variable = { steel_exports_multiplier = 0.001 }
	set_variable = { chromium_exports_multiplier = 0.002 }

	multiply_variable = { oil_produced = oil_exports_multiplier}
	multiply_variable = { aluminium_produced = aluminium_exports_multiplier}
	multiply_variable = { rubber_produced = rubber_exports_multiplier}
	multiply_variable = { tungsten_produced = tungsten_exports_multiplier}
	multiply_variable = { steel_produced = steel_exports_multiplier}
	multiply_variable = { chromium_produced = chromium_exports_multiplier}

	add_to_variable = { eoc_resource_gdp = oil_produced }
	add_to_variable = { eoc_resource_gdp = aluminium_produced }
	add_to_variable = { eoc_resource_gdp = rubber_produced }
	add_to_variable = { eoc_resource_gdp = tungsten_produced }
	add_to_variable = { eoc_resource_gdp = steel_produced }
	add_to_variable = { eoc_resource_gdp = chromium_produced }

	add_to_variable = { eoc_total_gdp = eoc_resource_gdp}

}



calculate_GDP_ledger = {
	set_temp_variable = { actual_core_manpower_k = 0 }

	every_owned_state = {
		limit = { is_core_of = PREV }
		add_to_temp_variable = { PREV.actual_core_manpower_k = state_population_k }
	}

	set_temp_variable = { temp_civ = num_of_civilian_factories }
	set_temp_variable = { temp_mil = num_of_military_factories }

	set_temp_variable = { temp_adjust = temp_civ }
	multiply_temp_variable = { temp_adjust = 1000 }
	subtract_from_temp_variable = { temp_adjust = actual_core_manpower_k }

	if = {
		limit = {
			check_variable = { temp_adjust > 0 }
		}
		if = {
			limit = { has_idea = agrarian_nation }
			multiply_temp_variable = { temp_mil = 0.25 }
		}
		else_if = {
			limit = { has_idea = semi_industrialised_nation }
			multiply_temp_variable = { temp_adjust = 0.5 }
			multiply_temp_variable = { temp_mil = 0.5 }
		}
		else_if = {
			limit = { has_idea = industrialised_nation }
			multiply_temp_variable = { temp_adjust = 0.25 }
			multiply_temp_variable = { temp_mil = 0.75 }
		}
		else_if = {
			limit = { has_idea = consumerist_nation }
			multiply_temp_variable = { temp_adjust = 0 }
		}
		divide_temp_variable = { temp_adjust = 1000 }
		subtract_from_temp_variable = { temp_civ = temp_adjust }
		clamp_temp_variable = { var = temp_civ min = 0 }
	}

	if = {
		limit = {
			check_variable = { actual_core_manpower_k < 2000 }
		}
		if = {
			limit = { has_idea = agrarian_nation }
			multiply_temp_variable = { temp_civ = 0.2 }
			multiply_temp_variable = { temp_mil = 0.2 }
		}
		else_if = {
			limit = { has_idea = semi_industrialised_nation }
			multiply_temp_variable = { temp_civ = 0.4 }
			multiply_temp_variable = { temp_mil = 0.4 }
		}
	}

	set_variable = { temp_adjust_check = temp_civ }

	set_variable = { country_GDP = eoc_total_gdp }

	clamp_temp_variable = { var = temp_civ min = 1 max = 100 }

	set_temp_variable = { temp = temp_mil }
	divide_temp_variable = { temp = 2 }
	#add_to_variable = { country_GDP = temp }




	#set_variable = { country_GDP_per_capita = country_GDP } 
	#multiply_variable = { country_GDP_per_capita = 1000 }
	#divide_variable = { country_GDP_per_capita = actual_core_manpower_k }
	multiply_variable = { country_GDP_per_capita = 1000 }
	set_variable = { country_GDP_per_capita = eoc_total_gdp_capita }
	clamp_variable = { var = country_GDP_per_capita min = 0 }

	set_variable = { tstvar = actual_core_manpower_k }

	if = {
		limit = {
			all_country = {
				is_in_array = { global.GDP_list_array = THIS }
			}
		}
		update_position = yes
	}
}

update_position = {
	clear_array = global.top_ten_GDP_array
	clear_variable = global.GDP_total
	clear_variable = global.GDP_per_capita_total
	
	set_temp_variable = { position = 0 }
	set_variable = { sort_var = 1 }
	set_variable = { last_sort_var = 0 }
	create_GDP_sorted_array = yes

	for_each_scope_loop = {
		array = global.GDP_list_array

		add_to_temp_variable = { position = 1 }
		set_variable = { THIS.GDP_position = position }

		if = {
			limit = {
				check_variable = { THIS.GDP_position < 11 }
			}
			add_to_array = { global.top_ten_GDP_array = THIS }
		}
		add_to_variable = { global.GDP_total = country_GDP }
		add_to_variable = { global.GDP_per_capita_total = country_GDP_per_capita }
	}

	set_variable = { global.average_GDP = global.GDP_total }
	divide_variable = { global.average_GDP = global.GDP_list_array^num }
	set_variable = { global.average_GDP_per_capita = global.GDP_per_capita_total }
	divide_variable = { global.average_GDP_per_capita = global.GDP_list_array^num }

	force_update_map_mode = { mapmode = TWR_GDP_map_mode }
	force_update_map_mode = { mapmode = TWR_GDP_per_capita_map_mode }
}





gdp_growth_calc ={ 

	 
	 
	 set_variable = {gdp_actual = eoc_total_gdp}
	 
	 set_variable = { gdp_growth = eoc_total_gdp }
	 
	 multiply_variable = {gdp_growth = 100}
	 
	 divide_variable = {gdp_growth = gdp_last}
	 if = {
		limit = {
			OR = { 
				check_variable = {
					var = gdp_growth
					value = 100
					compare = greater_than_or_equals
				}
				check_variable = {
					var = gdp_growth
					value = 0
					compare = less_than_or_equals
				}
			}
		
		}
	 	subtract_from_variable = {gdp_growth = 100}
	 }
	 #else_if = {
	 #	subtract_from_variable = {gdp_growth = 100}
	 #}

	 
	 set_variable = { gdp_growth_show = gdp_growth }
	 
	 multiply_variable = { gdp_growth = 1}
	 
	 set_variable = {gdp_last = eoc_total_gdp}

}


SAMPLE_add_random_point_to_line = {
	# Adds a random point to the line graph

	# This count is displayed as an x-axis label, increment it
	add_to_variable = { SAMPLE_count = 1 }

	# We keep track of the last y position so we can calculate the slope
	set_variable = { SAMPLE_last_y_position = SAMPLE_y_position }
	
	# Random new y position, 10-90
	set_variable = { SAMPLE_y_position = gdp_growth }

	round_variable = SAMPLE_y_position

	# Prune arrays so they hold at most 20 elements
	if = {
		limit = {
			check_variable = { SAMPLE_count > 20 }
		}
		remove_from_array = { array = SAMPLE_graph_offsets index = 0 }
		remove_from_array = { array = SAMPLE_graph_slopes index = 0 }
		remove_from_array = { array = SAMPLE_numbers index = 0 }
	}

	# The y position offset is the inverse of the y position
	set_temp_variable = { offset = SAMPLE_last_y_position }
	multiply_temp_variable = { offset = -1 }
	add_to_array = { SAMPLE_graph_offsets = offset }

	# The 'slope' here is simply the difference between the current y value and the last one, divided by 2 plus 50
	# These last two changes are needed for the shader
	set_temp_variable = { diff = SAMPLE_y_position }
	subtract_from_temp_variable = { diff = SAMPLE_last_y_position }
	divide_temp_variable = { diff = 2 }
	add_to_temp_variable = { diff = 50 }
	add_to_array = { SAMPLE_graph_slopes = diff }
	
	add_to_array = { SAMPLE_numbers = SAMPLE_count }
}





