Распространение товара из Нового Света
ДействиеИзменено в этой версии

Распространение товара из Нового Света

move_nw_good_to_new_locationin_game/common/generic_actions/columbian_exchange.txt:7

Мы можем распространить один товар, происходящий из Америки, в любом из своих Concept к неудовольствию местных жителей. Нам также придётся заново развивать Concept в районе.

ТребуетАрктический климатКлиматselect trigger 4Жаркий засушливый климатКлиматselect trigger 4Холодный засушливый климатКлиматselect trigger 4Континентальный климатКлиматselect trigger 4Средиземноморский климатКлиматselect trigger 4Океанический климатКлиматselect trigger 4Субтропический климатКлиматselect trigger 4Тропический климатКлиматselect trigger 4ЧилиТоварselect trigger 4КакаоТоварselect trigger 4КукурузаТоварselect trigger 4КартофельТоварselect trigger 4

Определениеin_game/common/generic_actions/columbian_exchange.txt:7

8type = situation
10ai_tick = monthly
11ai_tick_frequency = 60
12automation_tick = never
13automation_tick_frequency = 12
15maximum_targets_in_one_tick = 20
16disallowed_duplicates_of_targets_for_ai = {
target_location
}
18potential = {
}
21allow = {
22scope:actor ?= {
23any_market_present_in_country = {
24has_new_world_goods_in_market = yes
}
}
}
29price = price:move_good_to_new_location
31select_trigger = {
32looking_for_a = situation
33target_flag = recipient
34name = "choose_situation" Выберите Concept:
35column = {
35data = name
}
36visible = {
38situation_is_active = yes
}
}
44select_trigger = {
45looking_for_a = goods
46target_flag = target_good
47ai_interaction_source_list = {
48every_goods = {
49limit = {
50has_origin_in_new_world = yes
}
52save_temporary_scope_as = temp_good
54scope:actor = {
55random_market_present_in_country = {
56limit = {
57goods_demand_in_market(scope:temp_good) > "goods_supply_in_market(scope:temp_good)"
}
59scope:temp_good = {
60add_to_list = source
62if = {
63limit = {
64is_food = yes
}
66add_to_list = source
}
}
}
}
}
}
73name = "spread_select_goods" Выберите Concept для распространения
74none_available_msg_key = "move_nw_good_to_new_location_no_available_good"
75column = {
75data = name
}
76visible = {
77has_origin_in_new_world = yes
78scope:actor ?= {
79any_market_present_in_country = {
80OR = {
81is_produced_in_market = root
82is_traded_in_market = root
}
}
}
}
}
90select_trigger = {
91looking_for_a = region
92source = actor
93target_flag = target_region
94name = "choose_a_region" Выбор региона
95none_available_msg_key = "no_regions_available"
96column = {
96data = name
}
97visible = {
98scope:actor = {
99owns_or_has_subject_in = prev
}
}
}
105select_trigger = {
106looking_for_a = location
107source = target_region
108source_flags = only_actual_locations
109target_flag = target_location
110ai_interaction_source_list = {
111scope:target_region = {
112every_area_in_region = {
113limit = {
114scope:actor = {
114owns_or_has_subject_in = prev
}
}
116every_province_definition_in_area = {
117limit = {
118scope:actor = {
118owns_or_has_subject_in = prev
}
120raw_material_amount(scope:target_good) < 2
}
122every_ownable_location_in_province_definition = {
123limit = {
124owner ?= {
125is_subject_or_below_of = scope:actor
}
128NOT = {
128raw_material ?= scope:target_good
}
}
130add_to_list = source
}
}
}
}
}
136map_mode = raw_material
137name = "choose_location" Выбор Concept
138none_available_msg_key = "move_nw_good_to_new_location_no_available_location"
139column = {
139data = rank
}
140column = {
140data = name
}
141column = {
141data = raw_material
}
142column = {
142data = population
}
143visible = {
144is_ownable = yes
145has_owner = yes
146OR = {
147owner ?= scope:actor
148top_owner ?= scope:actor
}
151trigger_if = {
152limit = {
153scope:target_good ?= goods:tobacco
}
155NOT = {
155raw_material ?= goods:tobacco
}
156NOT = {
156vegetation = desert
}
157OR = {
158topography = flatland
159topography = hills
}
161OR = {
162climate = tropical
163climate = subtropical
164climate = mediterranean
165climate = oceanic
166climate = continental
}
168NOR = {}
}
211trigger_if = {
212limit = {
213scope:target_good ?= goods:cocoa
}
215NOT = {
215raw_material ?= goods:cocoa
}
216NOR = {
217vegetation = desert
218vegetation = sparse
219vegetation = grasslands
}
221area = {
222is_area_sea = no
}
224NOR = {
225topography = atoll
226topography = wetlands
}
228climate = tropical
229NOR = {}
}
253trigger_if = {
254limit = {
255scope:target_good ?= goods:maize
}
257NOT = {
257raw_material ?= goods:maize
}
258OR = {
259vegetation = farmland
260vegetation = forest
261vegetation = woods
262vegetation = grasslands
}
264area = {
265is_area_sea = no
}
267OR = {
268topography = flatland
269topography = hills
}
271OR = {
272climate = tropical
273climate = subtropical
274climate = continental
275climate = oceanic
276climate = mediterranean
}
}
280trigger_if = {
281limit = {
282scope:target_good ?= goods:chili
}
284NOT = {
284raw_material ?= goods:chili
}
285OR = {
286vegetation = farmland
287vegetation = forest
288vegetation = woods
289vegetation = grasslands
290vegetation = sparse
}
292area = {
293is_area_sea = no
}
295OR = {
296topography = wetlands
297topography = flatland
298topography = hills
299topography = plateau
}
301OR = {
302climate = tropical
303climate = subtropical
304climate = mediterranean
305climate = oceanic
306climate = continental
}
}
310trigger_if = {
311limit = {
312scope:target_good ?= goods:potato
}
314NOT = {
314raw_material ?= goods:potato
}
315NOT = {
316vegetation = desert
}
318area = {
319is_area_sea = no
}
321NOR = {
322climate = tropical
323climate = arid
324climate = cold_arid
325climate = arctic
}
}
}
}
331effect = {
332scope:target_location ?= {
333change_max_raw_material_workers = {
334value = rgo_workers
335subtract = 1
336min = 0
337multiply = -1
}
339change_prosperity = prosperity_weak_penalty (-0.1)
340change_raw_material = scope:target_good
}
}
344ai_will_do = {
345value = -1
347if = {
348limit = {
349exists = scope:target_good
350exists = scope:target_location
}
352scope:target_good = {
354add = "price_in_market(scope:target_location.market)"
355scope:target_location.raw_material = {
356subtract = "price_in_market(scope:target_location.market)"
}
359multiply = 10
361if = {
362limit = {
363is_in_surplus_in_market = {
363market = scope:target_location.market
363country = scope:actor
363value > 0
}
}
365subtract = 100
}
368if = {
369limit = {
370is_food = yes
}
372subtract = scope:target_good.food_value
373add = scope:target_location.raw_material.food_value
}
}
}
}