This is an initial commit rebasing extP3dParser and bulletStuff into a unified vehicledamage branch with a fresh history.

This commit is contained in:
jaynus 2015-05-09 13:32:36 -07:00
parent 00c28dd146
commit 4134b2f046
700 changed files with 145846 additions and 42 deletions

View File

@ -0,0 +1 @@
z\ace\addons\destruction

View File

@ -0,0 +1,176 @@
class CfgAmmo {
class ShellBase;
class BulletBase;
class ace_fuelexpbig: ShellBase {
hit=100;
indirectHit=80;
indirectHitRange=3;
soundHit[]={"\a3\sounds_f\Weapons\explosion\expl_big_2.wss", db16,1,1600};
typicalSpeed = 100;
explosive = 1;
cost = 300;
model = "\A3\Weapons_f\empty";
airFriction = 0;
timeToLive = 1;
explosionTime = 0.001;
soundFly[] = {"",1,1};
soundEngine[] = {"",1,4};
explosionEffects = "VehicleExplosionEffects";
};
class ace_fuelexpsmall: ace_fuelexpbig {
hit=50;
indirectHit=40;
indirectHitRange=2;
soundHit[]={"\a3\sounds_f\SFX\explosion1", db16,1,1600};
explosionEffects = "ExploAmmoExplosion";
};
class ace_fuelexpspark: BulletBase {
hit=7.5;
indirectHit=6;
indirectHitRange=1;
explosive = 0.1;
craterEffects = "ImpactEffectsBig";
explosionEffects = "NoExplosion"; // Need very small explosion FX...
soundHit[]={"\a3\sounds_f\Weapons\explosion\supersonic_crack_50meters.wss",db16,0.7,100};
soundCrack1[]={"\a3\sounds_f\Weapons\explosion\supersonic_crack_close.wss",db16,0.6,100};
soundCrack2[]={"\a3\sounds_f\Weapons\explosion\supersonic_crack_50meters.wss",db16,0.7,100};
soundCrack3[]={"\a3\sounds_f\Weapons\explosion\supersonic_crack_50meters.wss",db16,0.8,100};
hitGroundSoft[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitGroundHard[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitMan[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitArmor[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitIron[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitBuilding[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitFoliage[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitWood[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitGlass[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitGlassArmored[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitConcrete[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitRubber[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitPlastic[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitDefault[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitMetal[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
hitMetalplate[] = {"soundCrack1",0.33,"soundCrack2",0.34,"soundCrack3",0.33};
};
class ACE_cookoff_large_1_normal : ShellBase {
hit = 1;
indirectHit = 20;
indirectHitRange = 2;
typicalSpeed = 100;
explosive = 1;
cost = 300;
model = "\A3\Weapons_f\empty";
airFriction = 0;
timeToLive = 1;
explosionTime = 0.0001;
soundFly[] = {"",1,1};
soundEngine[] = {"",1,4};
CraterEffects = "ExploAmmoCrater";
explosionEffects = "ExploAmmoExplosion";
muzzleEffect = "BIS_fnc_EffectRifle";
soundHit[] = {PATHTOF(data\sounds\cannon_crack_close.wss), 56.23413,1,1800};
soundDefault1[] = {PATHTOF(data\sounds\cannon_crack_close.wss), 56.2341,1,1800};
hitGroundSoft[] = {"soundDefault1",1};
hitGroundHard[] = {"soundDefault1",1};
hitMan[] = {"soundDefault1",1};
hitArmor[] = {"soundDefault1",1};
hitIron[] = {"soundDefault1",1};
hitBuilding[] = {"soundDefault1",1};
hitFoliage[] = {"soundDefault1",1};
hitWood[] = {"soundDefault1",1};
hitGlass[] = {"soundDefault1",1};
hitGlassArmored[] = {"soundDefault1",1};
hitConcrete[] = {"soundDefault1",1};
hitRubber[] = {"soundDefault1",1};
hitPlastic[] = {"soundDefault1",1};
hitDefault[] = {"soundDefault1",1};
hitMetal[] = {"soundDefault1",1};
hitMetalplate[] = {"soundDefault1",1};
};
class ACE_cookoff_large_1_filtered: ACE_cookoff_large_1_normal {
CraterEffects = "";
explosionEffects = "";
soundHit[] = {PATHTOF(data\sounds\cannon_crack_close_filtered.wss), 56.23413,1.2,1800};
soundDefault1[] = {PATHTOF(data\sounds\cannon_crack_close_filtered.wss), 56.2341,1.2,1800};
};
class ACE_cookoff_large_2_normal: ACE_cookoff_large_1_normal {
soundHit[] = {PATHTOF(data\sounds\cannon_crack_close.wss), 56.23413,1.2,1800};
soundDefault1[] = {PATHTOF(data\sounds\cannon_crack_close.wss), 56.2341,1.2,1800};
};
class ACE_cookoff_large_2_filtered: ACE_cookoff_large_1_filtered {
soundHit[] = {PATHTOF(data\sounds\cannon_crack_close_filtered.wss), 56.23413,1.2,1800};
soundDefault1[] = {PATHTOF(data\sounds\cannon_crack_close_filtered.wss), 56.2341,1.2,1800};
};
class ACE_cookoff_large_3_normal: ACE_cookoff_large_1_normal {
soundHit[] = {PATHTOF(data\sounds\cannon_crack_close.wss), 56.23413,0.9,1800};
soundDefault1[] = {PATHTOF(data\sounds\cannon_crack_close.wss), 56.2341,0.9,1800};
};
class ACE_cookoff_large_3_filtered: ACE_cookoff_large_1_filtered {
soundHit[] = {PATHTOF(data\sounds\cannon_crack_close_filtered), 56.23413,0.9,1800};
soundDefault1[] = {PATHTOF(data\sounds\cannon_crack_close_filtered), 56.2341,0.9,1800};
};
class ACE_cookoff_small_1_normal: ACE_cookoff_large_1_normal {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\heavy_crack_close.wss), 56.23413,1,1800};
soundDefault1[] = {PATHTOF(data\sounds\heavy_crack_close.wss), 56.2341,1,1800};
};
class ACE_cookoff_small_1_filtered: ACE_cookoff_large_1_filtered {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\heavy_crack_close_filtered.wss), 56.23413,1,1800};
soundDefault1[] = {PATHTOF(data\sounds\heavy_crack_close_filtered.wss), 56.2341,1,1800};
};
class ACE_cookoff_small_2_normal: ACE_cookoff_large_1_normal {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\light_crack_close.wss), 56.23413,1,1800};
soundDefault1[] = {PATHTOF(data\sounds\light_crack_close.wss), 56.2341,1,1800};
};
class ACE_cookoff_small_2_filtered: ACE_cookoff_large_1_filtered {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\light_crack_close_filtered.wss), 56.23413,1,1800};
soundDefault1[] = {PATHTOF(data\sounds\light_crack_close_filtered.wss), 56.2341,1,1800};
};
class ACE_cookoff_small_3_normal: ACE_cookoff_large_1_normal {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\heavy_crack_close.wss), 56.23413,1.2,1800};
soundDefault1[] = {PATHTOF(data\sounds\heavy_crack_close.wss), 56.2341,1.2,1800};
};
class ACE_cookoff_small_3_filtered: ACE_cookoff_large_1_filtered {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\heavy_crack_close_filtered.wss), 56.23413,1.2,1800};
soundDefault1[] = {PATHTOF(data\sounds\heavy_crack_close_filtered.wss), 56.2341,1.2,1800};
};
class ACE_cookoff_small_4_normal: ACE_cookoff_large_1_normal {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\light_crack_close.wss), 56.23413,1.5,1800};
soundDefault1[] = {PATHTOF(data\sounds\light_crack_close.wss), 56.2341,1.5,1800};
};
class ACE_cookoff_small_4_filtered: ACE_cookoff_large_1_filtered {
indirectHit = 0;
indirectHitRange = 0;
soundHit[] = {PATHTOF(data\sounds\light_crack_close_filtered.wss), 56.23413,1.5,1800};
soundDefault1[] = {PATHTOF(data\sounds\light_crack_close_filtered.wss), 56.2341,1.5,1800};
};
};

View File

@ -0,0 +1,37 @@
class CfgCloudlets {
};
class CfgLights {
class ExploLightSmall {
color[] = {20, 19, 17.74};
ambient[] = {5, 5, 5};
diffuse[] = {0, 0, 0};
brightness = 0.02;
};
};
class ExploAmmoExplosion {
class ExploAmmoFlash {
position[] = {0,0,0};
simulation = "particles";
type = "ExploAmmoFlash";
intensity = 1;
interval = 1;
lifeTime = 1;
};
class LightExplosion {
simulation = "light";
type = "ExploLightSmall";
position[] = {0, 0, 0};
intensity = 0.001;
interval = 1;
lifeTime = 0.15;
};
class ExploAmmoSmoke {
position[] = {0,0,0};
simulation = "particles";
type = "ExploAmmoSmoke";
intensity = 1.5;
interval = 1.5;
lifeTime = 1.5;
};
};

View File

@ -0,0 +1,5 @@
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};

View File

@ -0,0 +1,56 @@
class CfgSFX {
class ace_flameout
{
sounds[] = {"ace_flameoutsound"};
name = "flame out";
ace_flameoutsound[] = {PATHTOF(data\sounds\flame_out_sound.wss),4.1622777,1,500,1,0.0,0.0,0.0};
empty[] = {"",0,0,0,0,0,0,0};
};
};
class CfgSounds {
class Fire {
sound[] = {
PATHTOF(data\sounds\burning.wss), 0.316228, 1
};
};
class ace_electricspark1 {
name = "ace_electricspark1";
sound[] = {PATHTOF(data\sounds\electric1.wss), 3,1};
titles[] = {};
};
class ace_electricspark2 {
name = "ace_electricspark2";
sound[] = {PATHTOF(data\sounds\electric2.wss), 3,1};
titles[] = {};
};
class ace_electricspark3 {
name = "ace_electricspark3";
sound[] = {PATHTOF(data\sounds\electric3.wss), 3,1};
titles[] = {};
};
class ace_electricspark4 {
name = "ace_electricspark4";
sound[] = {PATHTOF(data\sounds\electric4.wss), 3,1};
titles[] = {};
};
class ace_electricspark5 {
name = "ace_electricspark5";
sound[] = {PATHTOF(data\sounds\electric5.wss), 3,1};
titles[] = {};
};
class ace_electricspark6 {
name = "ace_electricspark6";
sound[] = {PATHTOF(data\sounds\electric6.wss), 3,1};
titles[] = {};
};
class ace_electricspark7 {
name = "ace_electricspark7";
sound[] = {PATHTOF(data\sounds\electric7.wss), 3,1};
titles[] = {};
};
class ace_electricspark8 {
name = "ace_electricspark8";
sound[] = {PATHTOF(data\sounds\electric8.wss), 3,1};
titles[] = {};
};
};

View File

@ -0,0 +1,72 @@
class CfgVehicles {
class Sign_Sphere100cm_F;
class ace_flameout_1 : Sign_Sphere100cm_F {
model = "\A3\Weapons_f\empty";
class EventHandlers {
init = QUOTE(_this call FUNC(doFlameout));
};
};
class ace_flameout_2 : Sign_Sphere100cm_F {
model = "\A3\Weapons_f\empty";
class EventHandlers {
init = QUOTE(_this call FUNC(doFlameout));
};
};
class Sound;
class ace_flameout: Sound {
scope = 2;
sound = "ace_flameout";
displayName = "$STR_DN_ALARM";
class EventHandlers {
init = QUOTE(_this call FUNC(doFlameout));
};
};
/*
class Land;
class LandVehicle: Land {};
class Tank: LandVehicle {
class DestructionEffects { //Disable standard burning effects
class Fire1 {
intensity = 0;
interval = 1;
lifetime = 0;
position = "destructionEffect1";
simulation = "particles";
type = "ObjectDestructionFire1";
};
class Fire2 {
intensity = 0;
interval = 1;
lifetime = 0;
position = "destructionEffect1";
simulation = "particles";
type = "ObjectDestructionFire1";
};
};
};
class Car: LandVehicle {
class DestructionEffects { //Disable standard burning effects
class Fire1 {
intensity = 0;
interval = 1;
lifetime = 0;
position = "destructionEffect1";
simulation = "particles";
type = "ObjectDestructionFire1";
};
class Fire2 {
intensity = 0;
interval = 1;
lifetime = 0;
position = "destructionEffect1";
simulation = "particles";
type = "ObjectDestructionFire1";
};
};
};*/
};

View File

@ -0,0 +1,15 @@
#include "script_component.hpp"
ADDON = false;
// Effects classes
PREP(doFlameout);
PREP(doCookoff);
GVAR(cookOffCount) = 0;
//BIS_fn_createFireEffect
ADDON = true;

View File

@ -0,0 +1,20 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_common"};
author[] = {"jaynus"};
authorUrl = "";
VERSION_CONFIG;
};
};
#include "CfgCloudlets.hpp"
#include "CfgSounds.hpp"
#include "CfgVehicles.hpp"
#include "CfgAmmo.hpp"
#include "CfgEventHandlers.hpp"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,377 @@
#define DEBUG_MODE_FULL
#include "script_component.hpp"
if(GVAR(cookOffCount) > 10 || {!GVAR(enableCookoff)}) exitWith {};
PARAMS_2(_vehicle,_intensity);
private["_addCount", "_burnOutSelections", "_isCooking", "_magazines", "_cargoMags", "_startTime", "_totalMagazines", "_transportMagazines", "_magNames", "_counts"];
_isCooking = _vehicle getVariable ["ace_is_cooking", false];
if(_isCooking) exitWith {};
GVAR(cookOffCount) = GVAR(cookOffCount) + 1;
_vehicle setVariable ["ace_is_cooking", true];
_magazines = magazines _vehicle;
_cargoMags = getMagazineCargo _vehicle;
// TODO: Include loaded ammoboxes via sys_cargo
_startTime = 5-(5*((_intensity/4)));
_totalMagazines = [];
if(!alive _vehicle) then {
_transportMagazines = configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "TransportMagazines";
_magNames = [];
_counts = [];
for "_i" from 0 to (count _transportMagazines)-1 do {
_mag = _transportMagazines select _i;
if(isClass _mag) then {
_magName = getText(_mag >> "magazine");
_count = getNumber(_mag >> "count");
if(_magName != "" && {_count > 0}) then {
_magNames set[(count _magNames), _magName];
_counts set[(count _counts), _count];
};
};
};
_cargoMags = [_magNames, _counts];
};
{
_addCount = ((random ((_cargoMags select 1) select _forEachIndex)) max 0);
for "_i" from 1 to _addCount do {
_magazines set[(count _magazines), _x];
};
} forEach (_cargoMags select 0);
{
private["_ammoCount", "_initSpeed"];
_ammoCount = getNumber (configFile >> "CfgMagazines" >> _x >> "count");
_initSpeed = getNumber (configFile >> "CfgMagazines" >> _x >> "initSpeed");
_totalMagazines set[(count _totalMagazines), [_x, _ammoCount, _initSpeed]];
} forEach _magazines;
_burnOutSelections = ["osa_poklop_commander", "hatch_commander_axis"];
{
private["_pos"];
_pos = _vehicle selectionPosition _x;
if(_pos distance [0,0,0] != 0) exitWith {
_vehicle setVariable ["ace_burnout_selection", _x];
};
} forEach _burnOutSelections;
if((count _totalMagazines) > 0) then {
[{
private ["_params", "_cookCount", "_burnoutStartTime"];
private["_addCount", "_alwaysTop", "_ammo", "_ammoCount", "_bb", "_bullet", "_burnObj", "_burnOutCount", "_burnOutCountCum", "_burnOutSelections", "_burnSelection", "_c", "_caliber", "_cargoMags", "_cookOff", "_count", "_counts", "_crewArray", "_crewPosIndex", "_crewScreaming", "_didBurn", "_filter", "_finalied", "_flameType", "_fuseDistance", "_guy", "_handled", "_i", "_initSpeed", "_isBurning","_isCooking", "_m", "_mag", "_magName", "_magNames", "_maxTypes", "_newMags", "_objs", "_pos", "_randX", "_randY", "_randZ", "_report", "_reportClass", "_reportType", "_rippleCount", "_screamCount", "_simType", "_sound", "_soundidx", "_spacing", "_spawnPos", "_speed", "_time", "_totalMagazines", "_transportMagazines", "_vec", "_velVec", "_vertin"];
_params = _this select 0;
EXPLODE_5_PVT(_params,_startTime,_magazines,_vehicle,_finale,_finaleDone);
if(time > _startTime) then {
_cookCount = 1;
if(_finale && {!_finaleDone}) then {
"ace_fuelexpbig" createvehicle (_vehicle modelToWorldVisual [0,0,0]);
_cookCount = 3+(floor (random 3));
_vehicle setVariable ["ace_cookoffinalied", true];
_finale = true;
};
for "_i" from 1 to _cookCount do {
_mag = _magazines select (floor (random (count _magazines)));
_count = (_mag select 1);
if(_count > 0) then {
_handled = false;
_ammo = getText(configFile >> "CfgMagazines" >> (_mag select 0) >> "ammo");
_simType = getText(configFile >> "CfgAmmo" >> _ammo >> "simulation");
if(toLower(_simType) == "shotbullet") then {
_handled = true;
_rippleCount = floor(random _count) min 40;
if(_finale) then {
_rippleCount = floor(random _count) min 10;
};
_mag set[1, 0];
[_vehicle, _ammo, _rippleCount, (_mag select 2)] spawn {
_vehicle = _this select 0;
_ammo = _this select 1;
_count = _this select 2;
_speed = _this select 3;
_spacing = (random 0.25) max 0.05;
_caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "caliber");
_reportType = "small";
_maxTypes = 4;
if(_caliber > 1.1) then {
_reportType = "large";
_maxTypes = 3;
};
_burnSelection = _vehicle getVariable ["ace_burnout_selection", ""];
_burnObj = nil;
_burnOutCount = _vehicle getVariable ["ace_burnOutCount", 0];
_didBurn = false;
if(_burnOutCount < 0) then {
_vehicle setVariable ["ace_burnOutCount", 0];
_burnOutCount = 0;
};
if ((random 1) > 0.8) then {
/*
@TODO: SCreaming
_crewScreaming = _vehicle getVariable ["ace_flameout_crewscream", false];
if (!_crewScreaming && {({alive _x} count (crew _vehicle)) > 0}) then {
_vehicle setVariable ["ace_flameout_crewscream", true];
[_vehicle] spawn {
_screamCount = floor((random (count (crew (_this select 0)))) min 4) max 1;
_crewArray = (crew (_this select 0));
for "_m" from 1 to _screamCount*2 do {
_soundidx = floor (random 15) + 1;
_sound = "ACE_VDBrutalScream" + (_soundidx call CBA_fnc_intToString);
_crewPosIndex = (floor (random (count _crewArray)));
_guy = _crewArray select _crewPosIndex;
if (_guy in (_this select 0)) then {
[[_crewArray select _crewPosIndex], _sound] call CBA_fnc_globalSay;
};
sleep 0.25+(random 1);
};
};
};
*/
};
if (_burnSelection != "" && {alive _vehicle} && {_spacing <= 0.18} && {_burnOutCount == 0} && {_count > 3}) then {
_alwaysTop = _vehicle getVariable ["ace_flameout_alwaystop", false];
_flameType = "ace_flameout_2";
if (_alwaysTop || {(random 10) >= 7.5}) then {
_flameType = "ace_flameout_1";
_vehicle setVariable ["ace_flameout_alwaystop", true];
};
_burnObj = _flameType createVehicle [0,0,10000];
_burnObj attachTo [_vehicle, [0,0,-0.2], _burnSelection];
_sound = createSoundSource ["ace_flameout", [0,0,10000], [], 0];
_sound attachTo [_burnObj, [0,0,-0.2], _burnSelection];
_vehicle setVariable ["ace_burnOutCount", 1];
_vehicle setVariable ["ace_burnOutStart", diag_tickTime];
_burnOutCountCum = _vehicle getVariable ["ace_burnOutCountCum", 0];
_vehicle setVariable ["ace_burnOutCountCum", _burnOutCountCum + 1];
_vehicle setVariable ["ace_burnObj", [_burnObj, _sound]];
[_burnObj] call FUNC(doFlameout);
_didBurn = true;
} else {
if (_burnOutCount > 0) then {
_burnOutCountCum = _vehicle getVariable ["ace_burnOutCountCum", 0];
_vehicle setVariable ["ace_burnOutCountCum", _burnOutCountCum + 1];
_didBurn = true;
_vehicle setVariable ["ace_burnOutCount", _burnOutCount + 1];
_burnOutCountCum = _vehicle getVariable ["ace_burnOutCountCum", 0];
if(_burnOutCountCum > 2) then {
_vehicle setDamage 1;
} else {
_burnoutStartTime = _vehicle getVariable "ace_burnOutStart";
_time = diag_tickTime - _burnoutStartTime;
if(_time > 3.5) then {
_vehicle setDamage 1;
};
};
};
};
for "_i" from 1 to _count do {
_spawnPos = _vehicle modelToWorldVisual [(-0.2+(random 0.4)),(-0.2+(random 0.4)),(random 0.2)];//[_randX, _randY, _randZ];
if(_spawnPos select 2 < 0) then {
_spawnPos set[2, 0];
};
_vec = [(-1 + (random 2)), (-1 + (random 2)), -0.2+(random 1)];
_filter = "filtered";
if(!alive _vehicle) then {
_filter = "normal";
};
_reportClass = format["ACE_cookoff_%1_%2_%3", _reportType, ceil(random _maxTypes), _filter];
_report = _reportClass createVehicleLocal _spawnPos;
if(_i == 12) then {
{
if(alive _x) then {
_x setDamage 1;
};
} forEach (crew _vehicle);
};
if((random 1) > 0.75) then {
_report setPos _spawnPos;
_speed = (((_speed*0.5)+(random (_speed/2))) min _speed);
_velVec = [
(_vec select 0)*_speed,
(_vec select 1)*_speed,
(_vec select 2)*_speed
];
_bullet = _ammo createVehicleLocal _spawnPos;
_bullet setPos _spawnPos;
_bullet setVectorDir _velVec;
_bullet setVelocity _velVec;
// [ace_sys_frag_fnc_frag_trace, 0.05, [_bullet]] call cba_fnc_addPerFrameHandler;
};
if(alive _vehicle) then {
_burnoutStartTime = _vehicle getVariable "ace_burnOutStart";
_time = diag_tickTime - _burnoutStartTime;
if(_time > 3.5) then {
_vehicle setDamage 1;
};
};
_finalied = _vehicle getVariable ["ace_cookoffinalied", false];
_burnOutCount = _vehicle getVariable ["ace_burnOutCount", 0];
if(_finalied && {_burnOutCount > 0}) then {
_objs = (_vehicle getVariable "ace_burnObj");
_vehicle setVariable ["ace_burnOutCount", 0];
deleteVehicle (_objs select 1);
deleteVehicle (_objs select 0);
};
sleep _spacing+(-0.02+(random 0.04));
};
if(_didBurn) then {
_burnOutCount = _vehicle getVariable ["ace_burnOutCount", 0];
_burnOutCount = _burnOutCount - 1;
if(_burnOutCount <= 0) then {
_objs = (_vehicle getVariable "ace_burnObj");
deleteVehicle (_objs select 1);
deleteVehicle (_objs select 0);
if(alive _vehicle) then {
_burnOutCountCum = _vehicle getVariable ["ace_burnOutCountCum", 0];
if(_burnOutCountCum > 2) then {
_vehicle setDamage 1;
} else {
_burnoutStartTime = _vehicle getVariable "ace_burnOutStart";
_time = diag_tickTime - _burnoutStartTime;
if(_time > 3.5) then {
_vehicle setDamage 1;
};
};
};
};
_vehicle setVariable ["ace_burnOutCount", _burnOutCount];
};
};
};
if(toLower(_simType) == "shotshell" || {toLower(_simType) == "shotgrenade"}) then {
_handled = true;
_rippleCount = floor(random _count) min 3;
_mag set[1, 0];
[_vehicle, _ammo, _rippleCount, (_mag select 2)] spawn {
_vehicle = _this select 0;
_ammo = _this select 1;
_count = _this select 2;
_speed = _this select 3;
_spacing = (random 0.5) max 0.1;
_caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "caliber");
_fuseDistance = getNumber(configFile >> "CfgAmmo" >> _ammo >> "fuseDistance");
_reportType = "small";
_maxTypes = 4;
if(_caliber > 2) then {
_reportType = "large";
_maxTypes = 3;
};
_bb = boundingBox _vehicle;
for "_i" from 1 to _count do {
_randX = ((_bb select 0) select 0)+(random (((_bb select 1) select 0)*2));
_randY = ((_bb select 0) select 1)+(random (((_bb select 1) select 1)*2));
_randZ = ((_bb select 0) select 2)+(random (((_bb select 1) select 2)*2));
_spawnPos = _vehicle modelToWorldVisual [0,0,_fuseDistance];//[_randX, _randY, _fuseDistance];
if(_spawnPos select 2 < 0) then {
_spawnPos set[2, 0];
};
_bullet = _ammo createVehicleLocal _spawnPos;
_bullet setPos _spawnPos;
_bullet setVectorDir [0,0,0];
_bullet setVelocity [0,0,-300];
sleep _spacing+(-0.02+(random 0.04));
};
};
};
if(toLower(_simType) == "shotrocket" || {toLower(_simType) == "shotmissile"}) then {
_handled = true;
_rippleCount = (floor(random _count) min 6) max 1;
_mag set[1, 0];
[_vehicle, _ammo, _rippleCount, (_mag select 2)] spawn {
_vehicle = _this select 0;
_ammo = _this select 1;
_count = _this select 2;
_speed = _this select 3;
_spacing = (random 0.5) max 0.05;
_caliber = getNumber(configFile >> "CfgAmmo" >> _ammo >> "caliber");
_reportType = "small";
_maxTypes = 4;
if(_caliber > 1.1) then {
_reportType = "large";
_maxTypes = 3;
};
_bb = boundingBox _vehicle;
for "_i" from 1 to _count do {
_randX = ((_bb select 0) select 0)+(random (((_bb select 1) select 0)*2));
_randY = ((_bb select 0) select 1)+(random (((_bb select 1) select 1)*2));
_randZ = (random (((_bb select 1) select 2)))/2;
_spawnPos = _vehicle modelToWorldVisual [_randX, _randY, _randZ];
if(_spawnPos select 2 < 0) then {
_spawnPos set[2, 0];
};
_vec = [(-1 + (random 2)), (-1 + (random 2)), -0.2+(random 0.8)];
_vertin = (random 1);
if(_vertin < 0.9) then {
_spawnPos = _vehicle modelToWorldVisual [0,0,0];//[_randX, _randY, _randZ];
_vec set[2, -0.999999];
};
_reportClass = format["ACE_cookoff_%1_%2", _reportType, ceil(random _maxTypes)];
_report = _reportClass createVehicleLocal _spawnPos;
_report setPos _spawnPos;
_speed = ((_speed*0.5)+(random _speed) min _speed)*0.6;
_velVec = [
(_vec select 0)*_speed,
(_vec select 1)*_speed,
(_vec select 2)*_speed
];
_bullet = _ammo createVehicleLocal _spawnPos;
_bullet setPos _spawnPos;
_bullet setVectorDir _velVec;
_bullet setVelocity _velVec;
// [ace_sys_frag_fnc_frag_trace, 0.05, [_bullet]] call cba_fnc_addPerFrameHandler;
sleep _spacing+(-0.02+(random 0.04));
};
};
};
if(!_handled) then {
_mag set[1, 0];
};
};
_newMags = [];
{
if(_x select 1 != 0) then {
_newMags set[(count _newMags), _x];
};
} forEach _magazines;
_magazines = _newMags;
_params set[1, _newMags];
};
if(_finale && {!_finaleDone}) then {
_params set[4, true];
_newMags = [];
_c = floor((count _magazines)/_cookCount);
for "_i" from 0 to _c do {
_newMags set[(count _newMags), (_magazines select _i)];
};
_magazines = _newMags;
_params set[1, _newMags];
};
_params set[0, time+(random 5)*(random 3)];
};
_isBurning = _vehicle getVariable ["ace_is_burning", false];
if(!_finale && {!(alive _vehicle)}) then {
_params set[3, true];
_params set[0, time-1];
} else {
if(!_isBurning || {(count _magazines) == 0}) then {
_vehicle setVariable ["ace_is_cooking", false];
[(_this select 1)] call CBA_fnc_removePerFrameHandler;
GVAR(cookOffCount) = GVAR(cookOffCount) - 1;
};
};
}, 0.25, [time+_startTime, _totalMagazines, _vehicle, false, false]] call cba_fnc_addPerFrameHandler;
} else {
GVAR(cookOffCount) = GVAR(cookOffCount) - 1;
};

View File

@ -0,0 +1,131 @@
#include "script_component.hpp"
private ["_li"];
PARAMS_1(_obj);
if(hasInterface) then {
_li = "#lightpoint" createVehicleLocal [0,0,100000];
_li setLightBrightness 0.35;
_li setLightAmbient[0.8, 0.6, 0.2];
_li setLightColor[1, 0.5, 0.2];
_li lightAttachObject [_obj, [0,0,0]];
};
[{
private["_factor", "_nearObjects", "_isBurning", "_flameSize", "_dir"];
PARAMS_2(_params,_handle);
EXPLODE_3_PVT(_params,_obj,_startTime,_light);
_factor = 1+((time-_startTime)/2) min 2;
if(alive _obj) then {
/* @TODO: BURN PEOPLE
_nearObjects = (getPos _obj) nearEntities ["CAManBase", 2.4+_factor];
//_nearObjects = nearestObjects [(getPos _obj), ["CAManBase"], 2.4+_factor];
{
if(local _x) then {
_isBurning = _x getVariable ["ace_is_burning", false];
if(!_isBurning) then {
/* DAFUQ WAS THIS SHIT?!?!?!?!
["ace_sys_wounds_checkburn", [_x, 30]] call ACE_fnc_receiverOnlyEvent;
[_x] spawn {
sleep 5+(random 8);
(_this select 0) setDamage 1;
};
};
};
} forEach _nearObjects;
*/
if(hasInterface) then {
_light setLightBrightness 0.35*(_factor/5);
if((typeOf _obj) == "ace_flameout_1") then {
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, 0],
[0,0,15*(_factor/2)],
0, 10, 7.9, 0.075,
[1.25*_factor, 2.5*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
};
_flameSize = 2;
_factor = _factor / 2;
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[0,20*(_factor/2),0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[0,-20*(_factor/2),0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[20*(_factor/2),0,0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[-20*(_factor/2),0,0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
_dir = 20*(_factor/2);
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[_dir,_dir,0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
_dir = -20*(_factor/2);
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[_dir,_dir,0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
_dir = 20*(_factor/2);
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[_dir,-(_dir),0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
_dir = 20*(_factor/2);
drop [["\a3\data_f\ParticleEffects\Universal\Universal",16,2,32],
"", "Billboard", 1,(0.1 + (random 0.2))*_factor,
[-0.1 + random 0.2, -0.1 + random 0.2, -1],
[-(_dir),_dir,0],
0, 10, 7.9, 0.075,
[1.25*_factor, _flameSize*_factor],
[[1, 1, 1, -2],[1, 1, 1, -2], [1, 1, 1, -1], [1, 1, 1, -0]],
[2 + random 1], 1, 0, "", "", _obj];
};
} else {
[_handle] call cba_fnc_removePerFrameHandler;
if(hasInterface) then {
deleteVehicle _light;
};
};
}, 0, [_obj, time, _li]] call cba_fnc_addPerFrameHandler;

View File

@ -0,0 +1 @@
#include "\z\ace\addons\destruction\script_component.hpp"

View File

@ -0,0 +1,12 @@
#define COMPONENT destruction
#include "\z\ace\addons\main\script_mod.hpp"
#ifdef DEBUG_ENABLED_DESTRUCTION
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_ENABLED_DESTRUCTION
#define DEBUG_SETTINGS DEBUG_ENABLED_DESTRUCTION
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -0,0 +1 @@
a3\data_f

View File

@ -0,0 +1,61 @@
class ADDON {
#include "penetration\armour.hpp"
#include "penetration\armour_plate.hpp"
#include "penetration\armour_plate_100mm.hpp"
#include "penetration\armour_plate_12mm.hpp"
#include "penetration\armour_plate_16mm.hpp"
#include "penetration\armour_plate_1mm.hpp"
#include "penetration\armour_plate_20mm.hpp"
#include "penetration\armour_plate_23mm.hpp"
#include "penetration\armour_plate_30mm.hpp"
#include "penetration\armour_plate_3mm.hpp"
#include "penetration\armour_plate_40mm.hpp"
#include "penetration\armour_plate_5mm.hpp"
#include "penetration\armour_plate_60mm.hpp"
#include "penetration\armour_plate_7mm.hpp"
#include "penetration\armour_plate_80mm.hpp"
#include "penetration\armour_plate_heavy.hpp"
#include "penetration\armour_plate_medium.hpp"
#include "penetration\armour_plate_thin.hpp"
#include "penetration\body.hpp"
#include "penetration\building.hpp"
#include "penetration\building_plate.hpp"
#include "penetration\cloth.hpp"
#include "penetration\concrete.hpp"
#include "penetration\concrete_plate.hpp"
#include "penetration\default.hpp"
#include "penetration\foliage.hpp"
#include "penetration\foliage_Dead.hpp"
#include "penetration\foliage_Green.hpp"
#include "penetration\foliage_Green_big.hpp"
#include "penetration\foliage_Palm.hpp"
#include "penetration\foliage_Pine.hpp"
#include "penetration\glass.hpp"
#include "penetration\glass_armored.hpp"
#include "penetration\glass_armored_plate.hpp"
#include "penetration\glass_plate.hpp"
#include "penetration\granite.hpp"
#include "penetration\granite_plate.hpp"
#include "penetration\hard_ground.hpp"
#include "penetration\hay.hpp"
#include "penetration\iron_cast.hpp"
#include "penetration\iron_cast_plate.hpp"
#include "penetration\leather.hpp"
#include "penetration\meat.hpp"
#include "penetration\meatbones.hpp"
#include "penetration\metal.hpp"
#include "penetration\metal_plate.hpp"
#include "penetration\metal_plate_thin.hpp"
#include "penetration\plastic.hpp"
#include "penetration\plastic_plate.hpp"
#include "penetration\plexiglass.hpp"
#include "penetration\plexiglass_plate.hpp"
#include "penetration\soft_ground.hpp"
#include "penetration\tyre.hpp"
#include "penetration\tyre_armored.hpp"
#include "penetration\void.hpp"
#include "penetration\water.hpp"
#include "penetration\weapon_plate.hpp"
#include "penetration\wood.hpp"
#include "penetration\wood_plate.hpp"
};

View File

@ -0,0 +1,45 @@
class CfgAmmo {
class BulletCore;
class ShellCore;
// By default, lets assume uranium shells
class ShellBase: ShellCore {
};
class Sh_120mm_APFSDS: ShellBase {
/*
enum class PROJECTILE_TYPE {
CYLINDER = 1, // This also uses long rod calcs, but for a cylinder default. ignores frustrum lengths
FRUSTUM = 2, // This is long rod, but working length changes
MISSILE = 3, // These will most likely be a hybrid of rod projected kenetic rounds
SHELL = 4, // If L:D ratio is < 4, you need to use this math instead, long rods are best-estimate only for KE of a rod.
FRAGMENT = 5 // Used for irregularly shaped model impacts, such as ace_frag
};*/
ACE_projectileType = 2;
ACE_bulletLength = 0.0650; // meter
GVAR(length) = 0.0650; // meter, used if defined for penetrator, otherwise falls back on bulletLength
ACE_caliber = 0.027; // meter, fallback dimeter used by AB
GVAR(diameter) = 0.027; // meters, used if defined for penetrator, otherwise falls back on bulletDiameter
ACE_bulletMass = 4600; // gram
GVAR(mass) = 4600; // grams, used if defined for penetrator, otherwise falls back on bulletMass
ACE_materialType = 2; // 0=tungsten,1=DU,2=hard steel alloy
// Below densities are only used to override materialType,
// OPTIONALS
ACE_materialDensity = 19100;
GVAR(density) = 19100; // kg/m3 used if defined for penetrator, otherwise falls back on ACE_materialDensity
// This is ony used if defined, otherwise it is assumed the round is a cylinder
GVAR(frustumLength) = 0.05; // meter
GVAR(frustumDiameter) = 0.01; // meter
};
class BulletBase: BulletCore {
ACE_bulletDensity = 11300; // 11.3g/cm3 or 11300kg/m3, this is the density of lead
};
};

View File

@ -0,0 +1,12 @@
ace_vehicledamage
================
Magic.
## Maintainers
The people responsible for merging changes to this component or answering potential questions.
- [KoffeinFlummi](https://github.com/KoffeinFlummi)
- [commy2](https://github.com/commy2)

View File

@ -0,0 +1,16 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"A3_Data_F"};
author[] = {"jaynus"};
authorUrl = "https://github.com/walterperace/";
VERSION_CONFIG;
};
};
#include "ACE_Penetration.hpp"
#include "CfgAmmo.hpp"

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour.bisurf{
Density = 8600;
rough = 0.1;
dust = 0;
bulletPenetrability = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetal";
soundHit = "Metal";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour {
Density = 8600;
Thickness = 100;
rough = 0.1;
dust = 0;
bulletPenetrability = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetal";
soundHit = "Metal";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate.bisurf{
Density = 8600;
Thickness = 30;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate {
Density = 8600; // kg/m3
Thickness = 30;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_100mm.bisurf{
Density = 8600;
Thickness = 100;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_100mm {
Density = 8600;
Thickness = 100;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_12mm.bisurf{
Density = 8600;
Thickness = 12;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_12mm {
Density = 8600;
Thickness = 12;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_16mm.bisurf{
Density = 8600;
Thickness = 16;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1.5;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_16mm {
Density = 8600;
Thickness = 16;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1.5;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_1mm.bisurf{
Density = 8600;
Thickness = 1;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.1;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_1mm {
Density = 8600;
Thickness = 1;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.1;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_20mm.bisurf{
Density = 8600;
Thickness = 20;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_20mm {
Density = 8600;
Thickness = 20;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_23mm.bisurf{
Density = 8600;
Thickness = 23;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_23mm {
Density = 8600;
Thickness = 23;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_30mm.bisurf{
Density = 8600;
Thickness = 30;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_30mm {
Density = 8600;
Thickness = 30;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_3mm.bisurf{
Density = 8600;
Thickness = 3;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.3;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_3mm {
Density = 8600;
Thickness = 3;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.3;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_40mm.bisurf{
Density = 8600;
Thickness = 40;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_40mm {
Density = 8600;
Thickness = 40;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_5mm.bisurf{
Density = 8600;
Thickness = 5;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.5;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_5mm {
Density = 8600;
Thickness = 5;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.5;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_60mm.bisurf{
Density = 8600;
Thickness = 60;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_60mm {
Density = 8600;
Thickness = 60;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_7mm.bisurf{
Density = 8600;
Thickness = 7;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.7;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_7mm {
Density = 8600;
Thickness = 7;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 0.7;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_80mm.bisurf{
Density = 8600;
Thickness = 80;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_80mm {
Density = 8600;
Thickness = 80;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_heavy.bisurf{
Density = 8600;
Thickness = 110;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_heavy {
Density = 8600;
Thickness = 110;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 2;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_medium.bisurf{
Density = 8600;
Thickness = 80;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1.5;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_medium {
Density = 8600;
Thickness = 80;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1.5;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\armour_plate_thin.bisurf{
Density = 8600;
Thickness = 12;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class armour_plate_thin {
Density = 8600;
Thickness = 12;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 15;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitMetalPlate";
soundHit = "metal_plate";
deflection = 1;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\body.bisurf{
Density = 985;
rough = 0.1;
dust = 0;
friction = 0.9;
restitution = 0.5;
bulletPenetrability = 195;
soundEnviron = "Empty";
isWater = "false";
impact = "hitMan";
soundHit = "Body";
deflection = 0.2;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class body {
Density = 985;
rough = 0.1;
dust = 0;
friction = 0.9;
restitution = 0.5;
bulletPenetrability = 195;
soundEnviron = "Empty";
isWater = "false";
impact = "hitMan";
soundHit = "Body";
deflection = 0.2;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\building.bisurf{
Density = 1800;
rough = 0.1;
dust = 0;
bulletPenetrability = 107;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitBuilding";
soundHit = "Building";
deflection = 1;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class building {
Density = 1800;
rough = 0.1;
dust = 0;
bulletPenetrability = 107;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitBuilding";
soundHit = "Building";
deflection = 1;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\building_plate.bisurf{
Density = 1800;
Thickness = 80;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 107;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitBuilding";
soundHit = "Building";
deflection = 1;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class building_plate {
Density = 1800;
Thickness = 80;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 107;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitBuilding";
soundHit = "Building";
deflection = 1;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\cloth.bisurf{
Density = 192;
rough = 0.1;
dust = 0;
bulletPenetrability = 999;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitPlastic";
soundHit = "Plastic";
deflection = 0.1;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class cloth {
Density = 192;
rough = 0.1;
dust = 0;
bulletPenetrability = 999;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.3;
impact = "hitPlastic";
soundHit = "Plastic";
deflection = 0.1;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\concrete.bisurf{
Density = 2400;
rough = 0.1;
dust = 0;
bulletPenetrability = 80;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitConcrete";
soundHit = "Concrete";
deflection = 1.5;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class concrete {
Density = 2400;
rough = 0.1;
dust = 0;
bulletPenetrability = 80;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitConcrete";
soundHit = "Concrete";
deflection = 1.5;
};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\concrete_plate.bisurf{
Density = 2400;
Thickness = 50;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 80;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitConcrete";
soundHit = "Concrete";
deflection = 1.5;
//};

View File

@ -0,0 +1,22 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class concrete_plate {
Density = 2400;
Thickness = 50;
rough = 0.1;
dust = 0;
bulletPenetrabilityWithThickness = 80;
soundEnviron = "Empty";
isWater = "false";
friction = 0.9;
restitution = 0;
impact = "hitConcrete";
soundHit = "Concrete";
deflection = 1.5;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\default.bisurf{
Density = 600;
rough = 0.1;
dust = 0;
bulletPenetrability = 320;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "hitDefault";
soundHit = "Default";
deflection = 1;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class default {
Density = 600;
rough = 0.1;
dust = 0;
bulletPenetrability = 320;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "hitDefault";
soundHit = "Default";
deflection = 1;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\foliage.bisurf{
Density = 7;
rough = 0.1;
dust = 0;
bulletPenetrability = 32000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "hitFoliage";
soundHit = "Foliage";
deflection = 0.5;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class foliage {
Density = 7;
rough = 0.1;
dust = 0;
bulletPenetrability = 32000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "hitFoliage";
soundHit = "Foliage";
deflection = 0.5;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\foliage_Dead.bisurf{
Density = 2;
rough = 0.1;
dust = 0;
bulletPenetrability = 96000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "Hit_Foliage_Dead";
soundHit = "foliage";
deflection = 0.5;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class foliage_Dead {
Density = 2;
rough = 0.1;
dust = 0;
bulletPenetrability = 96000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "Hit_Foliage_Dead";
soundHit = "foliage";
deflection = 0.5;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\foliage_Green.bisurf{
Density = 4;
rough = 0.1;
dust = 0;
bulletPenetrability = 48000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "Hit_Foliage_Green";
soundHit = "foliage";
deflection = 0.5;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class foliage_Green {
Density = 4;
rough = 0.1;
dust = 0;
bulletPenetrability = 48000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "Hit_Foliage_Green";
soundHit = "foliage";
deflection = 0.5;
};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
//Class data_f : penetration\foliage_Green_big.bisurf{
Density = 5;
rough = 0.1;
dust = 0;
bulletPenetrability = 42000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "Hit_Foliage_Green_big";
soundHit = "foliage";
deflection = 0.5;
//};

View File

@ -0,0 +1,21 @@
////////////////////////////////////////////////////////////////////
//DeRap: Produced from mikero's Dos Tools Dll version 4.87
//Sun Apr 12 12:32:08 2015 : Source 'file' date Sun Apr 12 12:32:08 2015
//http://dev-heaven.net/projects/list_files/mikero-pbodll
////////////////////////////////////////////////////////////////////
#define _ARMA_
class foliage_Green_big {
Density = 5;
rough = 0.1;
dust = 0;
bulletPenetrability = 42000;
soundEnviron = "Empty";
isWater = "false";
friction = 0.7;
restitution = 0.4;
impact = "Hit_Foliage_Green_big";
soundHit = "foliage";
deflection = 0.5;
};

Some files were not shown because too many files have changed in this diff Show More