class MediumTent: TentBase
{
class DamageSystem
{
// В данном классе описаны данные по урону, данные из этого класса будут браться если хит прошёл по компоненту не описанному в классе DamageZones
class GlobalHealth
{
class Health
{
// максимальное кол-во впитываемого урона
hitpoints = 600;
// какой материал наложить на поверхность при определённом уровне урона, в данном случае указано не менять материал.
healthLevels[] = {{1.0,{""}},{0.7,{""}},{0.5,{""}},{0.3,{""}},{0.0,{""}}};
};
};
// Описывает кол-во урона разного типа раздражителями компонентам не описанным в классе DamageZones
class GlobalArmor
{
// пули
class Projectile
{
class Health
{
damage = 0.05;
};
};
// руки, ноги, дубины ...
class Melee
{
class Health
{
damage = 0.3;
};
};
// граната, она и в африке граната
class FragGrenade
{
class Health
{
damage = 8;
};
};
};
// Для модели можно определить конкретные зоны урона, и обработать их по особенному, не обязательное условие.
class DamageZones
{
// Если мне память не изменяет, имя класса может быть произвольным
class Body
{
// имеет тот же смысл что в классе GlobalHealth, но уже конкретно к данной зоне
class Health
{
hitpoints = 600;
transferToGlobalCoef = 0.5;
healthLevels[] = {{1.0,{"DZ\gear\camping\data\tent_medium_packed.rvmat","DZ\gear\camping\data\tent_pristine_co.paa"}},{0.7,{"DZ\gear\camping\data\tent_medium_packed.rvmat","DZ\gear\camping\data\tent_worn_co.paa"}},{0.5,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat","DZ\gear\camping\data\tent_damage_co.paa"}},{0.3,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat","DZ\gear\camping\data\tent_destruct_co.paa"}},{0.0,{"DZ\gear\camping\data\tent_medium_packed_destruct.rvmat","DZ\gear\camping\data\tent_destruct_co.paa"}}};
};
// имеет тот же смысл что в классе GlobalArmor, но уже конкретно к данной зоне
class ArmorType
{
class Projectile
{
class Health
{
damage = 0.05;
};
};
class Melee
{
class Health
{
damage = 0.3;
};
};
class FragGrenade
{
class Health
{
damage = 8;
};
};
};
// имя селекшена в лоде файер геометрии, к которому привязаны компоненты образующие данную зону урона
componentNames[] = {"body"};
// можно также определить будет ли наноситься некий урон например соседней зоне, то есть, данная конфигурация говорит, если по этой зоне прилетит хит, то транслировать прилетевший урон так же по зоне Inventory, 1 в значении говорит что зоне Inventory нанести такой же урон как данной.
transferToZonesNames[] = {"Inventory"};
transferToZonesCoefs[] = {1.0};
// сам не понял зачем и почему)
fatalInjuryCoef = -1;
};
class Inventory
{
class Health
{
hitpoints = 600;
transferToGlobalCoef = 0.5;
healthLevels[] = {{1.0,{"DZ\gear\camping\data\tent_medium_packed.rvmat"}},{0.7,{"DZ\gear\camping\data\tent_medium_packed.rvmat"}},{0.5,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat"}},{0.3,{"DZ\gear\camping\data\tent_medium_packed_damage.rvmat"}},{0.0,{"DZ\gear\camping\data\tent_medium_packed_destruct.rvmat"}}};
};
class ArmorType
{
class Projectile
{
class Health
{
damage = 0.05;
};
};
class Melee
{
class Health
{
damage = 0.3;
};
};
class FragGrenade
{
class Health
{
damage = 8;
};
};
};
componentNames[] = {"inventory"};
transferToZonesNames[] = {"Body","Entrance"};
transferToZonesCoefs[] = {1.0,1.0};
fatalInjuryCoef = -1;
};
class Entrance
{
class Health
{
hitpoints = 600;
transferToGlobalCoef = 0;
healthLevels[] = {{1.0,{"DZ\gear\camping\data\tent_pristine_co.paa"}},{0.7,{"DZ\gear\camping\data\tent_worn_co.paa"}},{0.5,{"DZ\gear\camping\data\tent_damage_co.paa"}},{0.3,{"DZ\gear\camping\data\tent_destruct_co.paa"}},{0.0,"hidden"}};
};
class ArmorType
{
class Projectile
{
class Health
{
damage = 0.1;
};
};
class Melee
{
class Health
{
damage = 1.0;
};
};
class FragGrenade
{
class Health
{
damage = 10;
};
};
};
componentNames[] = {"entranceo","entrancec"};
fatalInjuryCoef = -1;
};
};
};