A-Life: Шаблоны Поведения

Материал из Oxygen Engine
Перейти к: навигация, поиск


Общее

Таблица значений

// Primary functions: registed into CEF_Storage
Distance             	= 0
EquipmentType	        = 2
MainWeaponType	        = 5
MainWeaponPreference    = 6
ItemValue               = 7
WeaponAmmo              = 8
DetectorType            = 9

PersonalCreatureType    = 23
PersonalWeaponType      = 24
PersonalRelation        = 27
PersonalGreed           = 28
PersonalAggressiveness  = 29

EnemyEquipmentCost      = 44
EnemyRukzakWeight       = 45
EnemyAnomality          = 46

// Complex functions: (.efd files)
WeaponEffectiveness     = 61 ; AI Stalker Fire: Check best weapon for kill
VictoryProbability      = 66 ; AI (all): Probable success of the attack. You can disable: #undef USE_EVALUATOR
EntityCost              = 67 ; Check EnemyEquipmentCost + EnemyRukzakWeight + EnemyAnomality
Expediency              = 68 ; Check expedient
MainWeaponValue         = 71 ; Choose weapon: Priority primary
SmallWeaponValue        = 72 ; Choose weapon: Priority secondary
BirthPercentage         = 82 ; AI (all):Check For Population(squad) Changes
BirthProbability        = 83 ; AI (all):Check For Population(squad) Changes
BirthSpeed              = 84 ; AI (all):Check For Population(squad) Changes

Пример 1

8	3
EnemyAnomalyType	DetectorType	AnomalyDetectProbability
1	1	20
1	2	60
1	3	100
2	1	20
2	2	60
2	3	100
3	1	30
3	2	60
3	3	90
4	1	70
4	2	75
4	3	85
5	1	90
5	2	90
5	3	90
6	1	80
6	2	80
6	3	80
7	1	80
7	2	80
7	3	80
8	1	40
8	2	50
8	3	80

Индексы

  • 8: кол-во итераций
  • 3: кол-во элементов в итерации

Типы

EnemyAnomalyType DetectorType AnomalyDetectProbability

Объявляют Atomic типы для конечного результата. См.таблицу выше.

Принцип работы

  • Массив дискретных чисел

([Последняя позиция в строке]- Наименьшее число)/(Разница между наибольшим и наименьшим ) * (Кол-во итераций - 1) + .5f

Возвращается значение суммы исходного числа, умноженное на первое дискретное число, и дискретного числа