Сповіщення
Очистити все

CoP. Симуляція. Параметри смарт-террейнів. Частина 3


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
7 місяців тому
 

Симуляція

Деякі умови роботи симуляції

У файлі scripts\sim_board.script для кожного угруповання задані:

squad = { stalker = { prec = function(squad, target) return in_time_interval(6, 19) and simulation_objects.sim_dist_to(squad, target) <= 150 end }, bandit = { prec = function(squad 
, target) return in_ 6, 19) and simulation_objects.sim_dist_to(squad, target) <= 150 end },
dolg = { prec = function(squad, target) return in_time_interval(6, 19) and simulation_objects.sim_dist_to(squad, target) },
freedom = { prec = function(squad, target) return in_time_interval(6, 19) and simulation_objects.sim_dist_to(squad, target) <= 150 end }, killer = { prec = function(
squad, target) return in_time , 19) and simulation_objects.sim_dist_to(squad, target) <= 150 end }
},
smart = { base = { prec = function(squad, target) return in_time_interval(18,8) and not xr_conditions.surge_started() and .check_squad_for_enemies(squad)
and (target:name() == "zat_stalker_base_smart" or target:name() == "jup_a6" or target:name() == "pri_a16") end }, surge = { prec = function
( ) return xr_conditions.surge_started() end },
territory = { prec = function() return in_time_interval(8,18) and not xr_conditions.surge_started() end },
resource = { prec = function(squad, target) return ,18) and not xr_conditions.surge_started() end } -- and squad:has_detector() },
lair = { prec = function() return in_time_interval(6,19) end }
},
actor = { prec = function(squad, target) return has_alife_info("sim_bandit_attack_harder") and simulation_objects.sim_dist_to(squad, target) <= 150 end }
  • squad - набір умов для ворожнечі з іншою фракцією.
    • simulation_objects.sim_dist_to(squad, target) <= 150 — перевірка відстані до загону менша за потрібну.
  • smart - набір умов вибору того, чи іншого смарта.
    • base — набір умов повернення на базу-смарт ( default_base )
      • return in_time_interval(18,8) — перевірка чи знаходиться загін у даному відрізку часу
      • xr_conditions.surge_started() — перевірка початку викиду
      • travel_manager.check_squad_for_enemies(squad) - перевірка присутності в загоні ворогів.
      • target:name() == "zat_stalker_base_smart" або target:name() == "jup_a6" або target:name() == "pri_a16" - перевірка наявності бази.
    • surge — набір умов пошуку укриття від викиду.
    • territory — набір умов початку пошуку звичайного смарта default .
    • resource — набір умов початку пошуку смарта з аномаліями і видобутку артефактів (default_resource) .
    • lair — набір умов пошуку мутантом смарта-укриття (default_lair)
  • actor - набір умов для ворожнечі з актором.
    • has_alife_info("sim_bandit_attack_harder") - перевірка присутності інфопоршня

   
Цитата