Все помнят, что ВТВ-2 начинается с миссии "Базовые учения", где основным заданием является стрельба по мишеням. В оригинале:
если "target_human" присвоен "tag" - "rifle" то мишень поражается с винтовки,
если "target_human" присвоен "tag" - "mgun" то мишень поражается с пулемета,
если "target_human" присвоен "tag" - "grenade" то мишень поражается гранатой.
В Лисе Пустыни 1 и 2 срабатывает, а 3 не работает. Для восстановления полной работоспособности объекта "Мишень" в \resource\entity\service\target_human\target_human.def добавляем:
{actor
{targetClass "human"}
{brain "actor"}
{collider "construction"}
{obstacleID "construction"}
{mass 20}
(include "/properties/construction_generic.inc")
("armor_light" args 0.7)
{Extension "target.mdl"}
{props "wood" "fence" "animated_crush" "target"}
{volume "body"
{able {blast}} <----- Добавляем этот блок
{Tags "body"}
{thickness 1}
}
{volume "body1"
'''{able {blast}}''' <----- Добавляем этот блок
{Tags "body"}
{thickness 1}
}
{lodclass "decor_medium"}
}
А сюда \resource\set\interaction_entity\construction\targ et.inc
{"target"
{on spawn
{if tagged "up"
{volumes enable contact bullet blast visible touch}
{area enable}
{ani_wind "crush" begin}
{set "broken" 0}
{auto_operatable 1}
else
{volumes disable contact bullet blast visible touch}
{area disable}
{ani_wind "crush" end}
{set "broken" 1}
{auto_operatable 0}
}
}
(define "pierce_check"
{if tagged %0 {if stuff %1 {call "break"}}}
)
{on bullet_hit
("pierce_check" args "smg" "pistol")
("pierce_check" args "rifle" "rifle")
("pierce_check" args "mgun" "mgun")
("pierce_check" args "hmgun" "hmgun") - /это чтобы от новых боеприпасов к крупнокалиберным пулеметам мишень падала/
("pierce_check" args "zenite" "zenite")
}
{on "break"
{tags add "crushed"}
{set "broken" 1}
{auto_operatable 0}
}
{on "up"
{tags remove "crushed"}
{tags add "up"}
{set "broken" 0}
{volumes enable contact bullet blast visible touch}
{area enable}
{ani_play "crush" -1}
{auto_operatable 1}
}
{on "down"
{if not "broken"
{call "break"}
}
{tags remove "crushed"}
}
{on break_armor overload
{if tagged "grenade"
{call "break"}
}
}
''{on blast
{if stuff "grenade"
{call "break"}
}
}'' <----- Добавляем этот блок
}