Свойства оружия
Поля:
name
:string
— Названиеrounds_per_second
:float64
— Скорострельность (количество выстрелов в секунду)spread
:float64
— Точность (угол разброса) выстрела (в градусах)aim_time
:float64
— Cкорость прицеливанияaim_field_of_view
:float64
— Угол обзора при полном прицеливании (в градусах)aim_rotation_speed
:float64
— Скорость поворота при полнов прицеливании (градусы в секунду)aim_movement_speed_modifier
:float64
— Модификатор скорости перемещения при полном прицеливанииprojectile_speed
:float64
— Скорость снарядовprojectile_damage
:float64
— Урон от одного снарядаprojectile_life_time
:float64
— Время жизни снарядовshot_sound_type_index
:Option<int32>
— Индекс типа звука при выстреле (начиная с 0), либо Noneprojectile_hit_sound_type_index
:Option<int32>
— Индекс типа звука при попадании (начиная с 0), либо Nonemax_inventory_ammo
:int32
— Максимальное количество патронов, переносимых в инвентаре
Свойства звука
Поля:
name
:string
— Названиеdistance
:float64
— Расстояние, на котором слышен звукoffset
:float64
— Модификатор разброса
Вектор в 2-х мерном пространстве
Поля:
x
:float64
— Координата xy
:float64
— Координата y
Препятствие на карте
Поля:
id
:int32
— Уникальный идентификаторposition
:Vec2
— Позиция центраradius
:float64
— Радиус препятствияcan_see_through
:boolean
— Является ли препятствие просматриваемым, либо блокирующим зрениеcan_shoot_through
:boolean
— Проходят ли снаряды сквозь препятствие
Неменяющееся состояние игры
Поля:
ticks_per_second
:float64
— Количество тиков в игровую секундуteam_size
:int32
— Начальное количество юнитов в каждой командеinitial_zone_radius
:float64
— Начальный радиус зоныzone_speed
:float64
— Скорость изменения радиуса зоныzone_damage_per_second
:float64
— Урон, наносимый юнитам за зоной в секундуspawn_time
:float64
— Время появления юнитовspawn_collision_damage_per_second
:float64
— Урон, наносимый юнитам, пытающимся появиться на некорректной позиции, в секундуlooting_time
:float64
— Время выполнения действий с лутом (в секундах)bot_players
:int32
— Количество игроков (команд) ботовunit_radius
:float64
— Радиус юнитовunit_health
:float64
— Максимальное количество здоровья юнитовhealth_regeneration_per_second
:float64
— Количество здоровья, автоматически регенерируемого юнитом в секундуhealth_regeneration_delay
:float64
— Время до начала автоматической регенерации здоровья с момента последнего урона по здоровью (в секундах)max_shield
:float64
— Максимальное значение щита юнитаspawn_shield
:float64
— Начальное значение щита юнитаextra_lives
:int32
— Начальное количество дополнительных жизней юнитовlast_respawn_zone_radius
:float64
— Радиус зоны, после которой недоступно перерождение (обнуляются дополнительные жизни)field_of_view
:float64
— Угол обзора юнитов без прицеливания (в градусах)view_distance
:float64
— Расстояние зрения юнитовview_blocking
:boolean
— Блокируется ли зрение юнитов препятствиямиrotation_speed
:float64
— Скорость поворота юнита без прицеливания (градусы в секунду)spawn_movement_speed
:float64
— Скорость предвижения юнитов во время появленияmax_unit_forward_speed
:float64
— Максимальная скорость юнитов при движении впередmax_unit_backward_speed
:float64
— Максимальная скорость юнитов при движении назадunit_acceleration
:float64
— Максимальное ускорение юнитовfriendly_fire
:boolean
— Можно ли нанести урон юнитам своей командыkill_score
:float64
— Количество очков, дающихся за ликвидацию вражеского юнитаdamage_score_multiplier
:float64
— Множитель очков за урон вражеским юнитамscore_per_place
:float64
— Количество очков за каждую команду, выбывшую до васweapons
:[WeaponProperties]
— Список свойств каждого из типов оружияstarting_weapon
:Option<int32>
— Начальное оружие, с которым появляется юнит, либо Nonestarting_weapon_ammo
:int32
— Начальное количество патронов для стартового оружияmax_shield_potions_in_inventory
:int32
— Максимальное количество зелий щита в инвентаре юнитаshield_per_potion
:float64
— Количество щита, восполняемого одним зельемshield_potion_use_time
:float64
— Время необходимое для выполнения действия выпивания зелья брониsounds
:[SoundProperties]
— Список свойств каждого из типов звуковsteps_sound_type_index
:Option<int32>
— Индекс типа звука, издаваемого при ходьбе (начиная с 0), либо Nonesteps_sound_travel_distance
:float64
— Расстояние, при котором звук ходьбы издастся со 100% вероятностьюobstacles
:[Obstacle]
— Список препятствий на карте
Участник игры (команда юнитов)
Поля:
id
:int32
— Уникальный идентификаторkills
:int32
— Количество ликвидацийdamage
:float64
— Суммарный нанесенный урон противникамplace
:int32
— Место выживания (количество выживших команд на текущий момент/момент ликвидации)score
:float64
— Счет команды
Тип действия, выполняемого юнитом
Варианты:
Looting
— Подбирание или сбрасывание лутаUseShieldPotion
— Использование зелья щита
Действие, выполняемое юнитом
Поля:
finish_tick
:int32
— Тик, в который действие будет завершеноaction_type
:ActionType
— Тип действия
Юнит
Поля:
id
:int32
— Уникальный идентификаторplayer_id
:int32
— Идентификатор игрока (команды), управляющей юнитомhealth
:float64
— Текущее здоровьеshield
:float64
— Текущее значение щитаextra_lives
:int32
— Оставшиеся дополнительные жизни юнитаposition
:Vec2
— Текущая позиция центра юнитаremaining_spawn_time
:Option<float64>
— Оставшееся время до появления, либо Nonevelocity
:Vec2
— Текущая скоростьdirection
:Vec2
— Текущее направление зрения (вектор длины 1)aim
:float64
— Значение, определяющее процесс прицеливания (0 - не в прицеле, 1 - готов к стрельбе)action
:Option<Action>
— Текущее действие, выполняемое юнитом, либо Nonehealth_regeneration_start_tick
:int32
— Тик в который начнется восстановление здоровья (может быть меньше текущего тика игры)weapon
:Option<int32>
— Индекс оружия, которое держит юнит (начиная с 0), либо Nonenext_shot_tick
:int32
— Следующий тик в который юнит сможет произвести выстрел (может быть меньше текущего тика игры)ammo
:[int32]
— Список патронов в инвентаре юнита для каждого типа оружияshield_potions
:int32
— Количество зелий щита в инвентаре
Подбираемый предмет
Варианты:
-
Weapon
— ОружиеПоля:
type_index
:int32
— Индекс типа оружия (начиная с 0)
-
ShieldPotions
— Зелья щитаПоля:
amount
:int32
— Количество зелий
-
Ammo
— ПатроныПоля:
weapon_type_index
:int32
— Индекс типа оружия (начиная с 0)amount
:int32
— Количество патронов
Лут, лежащий на земле
Поля:
id
:int32
— Уникальный идентификаторposition
:Vec2
— Позицияitem
:Item
— Предмет
Снаряд, выпущенный из оружия
Поля:
id
:int32
— Уникальный идентификаторweapon_type_index
:int32
— Индекс оружия, из которого был произведен выстрел (начиная с 0)shooter_id
:int32
— Идентификатор юнита, сделавшего выстрелshooter_player_id
:int32
— Идентификатор игрока (команды), чей юнит сделал выстрелposition
:Vec2
— Текущая позицияvelocity
:Vec2
— Скорость снарядаlife_time
:float64
— Оставшееся время жизни снаряда
Текущее состояние игровой зоны
Поля:
current_center
:Vec2
— Текущий центр зоныcurrent_radius
:float64
— Текущий радиус зоныnext_center
:Vec2
— Следующий центр зоныnext_radius
:float64
— Следующий радиус зоны
Звук, услышанный одним из ваших юнитов
Поля:
type_index
:int32
— Индекс типа звука (начиная с 0)unit_id
:int32
— Идентификатор юнита, услышавшего звукposition
:Vec2
— Позиция в которой был услышан звук (отличается от позиции источника звука)
Текущее состояние игры
Поля:
my_id
:int32
— Идентификатор вашего игрокаplayers
:[Player]
— Список игроков (команд)current_tick
:int32
— Текущий тикunits
:[Unit]
— Список юнитов, видимых для вашей командыloot
:[Loot]
— Список лута, видимого вашей командойprojectiles
:[Projectile]
— Список снарядов, видимых вашей командойzone
:Zone
— Текущее состояние игровой зоныsounds
:[Sound]
— Список звуков, услышанных вашей командой за прошлый тик
Приказ выполнения действия для юнита
Варианты:
-
Pickup
— Подобрать лутПоля:
loot
:int32
— Идентификатор лута
-
UseShieldPotion
— Использовать зелье щитаНет полей
-
DropShieldPotions
— Выбросить зелья щита на землюПоля:
amount
:int32
— Количество зелий
-
DropWeapon
— Выбросить оружиеНет полей
-
DropAmmo
— Выбросить патроныПоля:
weapon_type_index
:int32
— Индекс типа оружия (начиная с 0)amount
:int32
— Количество патронов
-
Aim
— Начать/продолжить прицеливаниеПоля:
shoot
:boolean
— Стрелять (возможно только при полном прицеливании)
Приказ для конкретного юнита
Поля:
target_velocity
:Vec2
— Целевая скорость перемещенияtarget_direction
:Vec2
— Целевое направление зрения (длина вектора не имеет значения)action
:Option<ActionOrder>
— Приказ выполнения действия, либо None
Приказы игрока (команды)
Поля:
unit_orders
:Map<int32 -> UnitOrder>
— Приказы для каждого из ваших юнитов