Void setATB( sUnitName, n1 )
Функция позволяет управлять положением юнита на ATB. Значения второго параметра большие нуля приводят к сдвигу юнита по ATB в начало шкалы, прочие – в конец. Вероятно, существует какая-то количественная интерпретация параметра, но я ее не уловил. Следует вызывать только из хуков, т.к. в противном случае можно получить рассинхронизацию ATB с действительным порядком ходов.
Информационные и прочие функции.
TsUnits GetUnits(nSideID, nType)
Возвращает таблицу имен юнитов типа nType для стороны nSideID. Константы nType прописаны в /scripts/combat-startup.lua и могут быть
HERO = 0
CREATURE = 1
WAR_MACHINE = 2
BUILDING = 3
С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:
sHeroName GetHero(nSideID)
tsUnits GetCreatures(nSideID)
tsUnits GetWarMachines(nSideID)
tsUnits GetBuildings(nSideID)
sHeroName GetAttackerHero()
sHeroName GetDefenderHero()
tsUnits GetAttackerCreatures()
tsUnits GetDefenderCreatures()
tsUnits GetAttackerWarMachines()
tsUnits GetDefenderWarMachines()
tsUnits GetAttackerBuildings()
tsUnits GetDefenderBuildings()
NCreatureID GetCreatureType( sCreatureName )
Возвращает тип существ в стеке с именем sCreatureName.
NX, nY pos( sUnitName )
Возвращает координаты юнита с именем sCreatureName. Функция имеет алиас с именем GetCombatPosition.
Bool combatStarted()
Возвращает false до тех пор, пока не началась былинная битва. Имеет смысл использовать только вне хуков.
SHeroName GetHeroName( sUnitName )
Возвращает «стратегическое» имя героя sUnitName. Если передано не имя героя – вызов приведет к ошибке.
Number GetCreatureNumber( sUnitName )
Возвращает количество существ в стеке с именем sUnitName.
NX, nY GetUnitPosition( sUnitName )
Аналог функции pos.
Bool exist( sUnitName )
Возвращает, а жив ли еще юнит с именем sUnitName. Функция имеет алиас с именем IsCombatUnit.
NHostType GetHost( nSideID )
Возвращает, под чьим управлением находится сторона nSideID – человека или AI.
Возвращаемые константы прописаны в /scripts/common.lua и могут быть
HUMAN = 0
COMPUTER = 1
С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:
bool IsHuman( nSideID )
bool IsComputer( nSideID )
NSideID GetUnitSide( sUnitName )
Возвращает, к какой стороне относится юнит с именем sUnitName.
Возвращаемые константы прописаны в /scripts/combat-startup.lua и могут быть
ATTACKER = 0
DEFENDER = 1
С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:
bool IsAttacker( sUnitName )
bool IsDefender( sUnitName )
Number GetUnitType( sUnitName )
Возвращает тип юнита с именем sUnitName. Возвращаемые константы прописаны в /scripts/combat-startup.lua и могут быть
HERO = 0
CREATURE = 1
WAR_MACHINE = 2
BUILDING = 3
С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:
bool IsHero( sUnitName )
bool IsCreature( sUnitName )
bool IsWarMachine( sUnitName )
bool IsBuilding( sUnitName )
Number GetWarMachineType( sUnitName )
Возвращает тип машины с именем sUnitName. Возвращаемые константы прописаны в /scripts/common.lua и могут быть
WAR_MACHINE_BALLISTA = 1
WAR_MACHINE_CATAPULT = 2
WAR_MACHINE_FIRST_AID_TENT = 3
WAR_MACHINE_AMMO_CART = 4
С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:
sUnitName GetWarMachine( nSideID, nWarMachineTypeID )
sUnitName GetAttackerWarMachine(nWarMachineTypeID)
sUnitName GetDefenderWarMachine(nWarMachineTypeID)
Number GetBuildingType( sUnitName )
Возвращает тип здания с именем sUnitName. Возвращаемые константы прописаны в /scripts/combat-startup.lua и могут быть
BUILDING_WALL = 1
BUILDING_GATE = 2
BUILDING_LEFT_TOWER = 3
BUILDING_BIG_TOWER = 4
BUILDING_MOAT = 5
BUILDING_RIGHT_TOWER = 6
BUILDING_MAGIC_WALL = 7
С использованием данной функции в файле /scripts/combat-startup.lua реализованы примитивы более высокого уровня:
sUnitName GetBuilding(nSideID, nBuildingID)
sUnitName GetAttackerBuilding(nBuildingID)
sUnitName GetDefenderBuilding(nBuildingID)