Files
braf/braf_boat/BRAF_voadeira/voadeira_base.hpp

576 lines
15 KiB
C++

class braf_voadeira_base_F: Boat_F
{
author="BRAF TEAM";
mapSize=4.754;
scope=0;
scopeCurator=0;
side=2;
class SpeechVariants
{
class Default
{
speechSingular[]={"veh_ship_boat_s"};
speechPlural[]={"veh_ship_boat_p"};
};
};
textSingular="$STR_A3_nameSound_veh_ship_boat_s";
textPlural="$STR_A3_nameSound_veh_ship_boat_p";
nameSound="veh_ship_boat_s";
_generalMacro="braf_voadeira_base_F";
displayName="Voadeira(EB)";
accuracy=0.5;
model="\braf\braf_boat\braf_voadeira\Braf_voadeira.p3d";
editorSubcategory="EdSubcat_Boats";
picture="\braf\braf_boat\braf_voadeira\data\UI\voadeira_ui_ca.paa";
icon="\braf\braf_boat\braf_voadeira\data\UI\voadeira_map_ca.paa";
cost=5000;
threat[]={0.6, 0.1, 0.3};
hideWeaponsDriver=0;
unitInfoType="RscUnitInfoNoWeapon";
hiddenSelections[]=
{
"Camo_1",
"Camo_2"
};
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\Camo1_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa"
};
memoryPointTaskMarker="TaskMarker_1_pos";
slingLoadCargoMemoryPoints[]=
{
"SlingLoadCargo1",
"SlingLoadCargo2",
"SlingLoadCargo3",
"SlingLoadCargo4"
};
leftEngineEffect="LEngEffectsSmall";
rightEngineEffect="REngEffectsSmall";
waterEffectSpeed=5;
engineEffectSpeed=5;
waterFastEffectSpeed=28;
class TransportItems
{
class _xx_FirstAidKit
{
name="FirstAidKit";
count=5;
};
};
class TransportMagazines
{
class _xx_braf_100Rnd_762x51_Mix_red
{
magazine = "braf_100Rnd_762x51_Mix_red";
count = 10;
};
};
class TransportWeapons
{
class _xx_braf_mag
{
weapon="braf_mag";
count=1;
};
};
class AnimationSources: AnimationSources
{
class ammo_hide
{
source="user";
initPhase=1;
animPeriod=0;
mass=10;
};
};
animationList[]=
{
"ammo_hide",0
};
armor=50;
crewExplosionProtection=5;
class HitPoints
{
class HitBody
{
armor=200;
material=50;
name="HP_hull";
visual="camo_1";
passThrough=true;
};
class HitFuel
{
armor=10;
material=50;
name="HP_Fuel";
visual="";
passThrough=true;
};
class HitEngine
{
armor=150;
material=-1;
name="HP_Engine";
visual="";
passThrough=true;
};
};
attenuationEffectType="OpenCarAttenuation";
insideSoundCoef=0.5;
soundEngineOnInt[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_start", 1.0, 1.0};
soundEngineOnExt[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_start", 1.0, 1.0, 150};
soundEngineOffInt[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_stop", 1.0, 1.0};
soundEngineOffExt[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_stop", 1.0, 1.0, 150};
buildCrash0[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_building_01", 1.77828, 1, 200};
buildCrash1[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_building_02", 1.77828, 1, 200};
buildCrash2[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_building_03", 1.77828, 1, 200};
soundBuildingCrash[]={"buildCrash0", 0.33, "buildCrash1", 0.33, "buildCrash2", 0.34};
WoodCrash0[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_wood_01", 1.77828, 1, 200};
WoodCrash1[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_wood_02", 1.77828, 1, 200};
WoodCrash2[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_wood_03", 1.77828, 1, 200};
soundWoodCrash[]={"woodCrash0", 0.33, "woodCrash1", 0.33, "woodCrash2", 0.34};
ArmorCrash0[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_armor_01", 3.16228, 1, 200};
ArmorCrash1[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_armor_02", 3.16228, 1, 200};
ArmorCrash2[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_armor_03", 3.16228, 1, 200};
soundArmorCrash[]={"ArmorCrash0", 0.33, "ArmorCrash1", 0.33, "ArmorCrash2", 0.34};
soundGeneralCollision1[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_armor_01", 1.77828, 1, 200};
soundGeneralCollision2[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_armor_02", 1.77828, 1, 200};
soundGeneralCollision3[]={"A3\sounds_f\Vehicles\boat\noises\Rubber_boat_crash_armor_03", 1.77828, 1, 200};
soundCrashes[]={"soundGeneralCollision1", 0.33, "soundGeneralCollision2", 0.33, "soundGeneralCollision3", 0.34};
class Sounds
{
class IdleOut
{
sound[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_idle_1", db-7, 1.0, 150};
frequency="0.95 + ((rpm/ 1200) factor[(100/ 1200),(200/ 1200)])*0.15";
volume="engineOn*(((rpm/ 1200) factor[(0/ 1200),(30/ 1200)]) * ((rpm/ 1200) factor[(500/ 1200),(300/ 1200)]))";
};
class Engine
{
sound[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_low2", 0.630957, 1.2, 300};
frequency="0.95 + ((rpm/ 1200) factor[(300/ 1200),(600/ 1200)])*0.2";
volume="engineOn*(((rpm/ 1200) factor[(200/ 1200),(300/ 1200)]) * ((rpm/ 1200) factor[(600/ 1200),(400/ 1200)]))";
};
class EngineMidOut
{
sound[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_mid2", db-1, 0.6, 400};
frequency="0.95 + ((rpm/ 1200) factor[(600/ 1200),(900/ 1200)])*0.2";
volume="engineOn*(((rpm/ 1200) factor[(350/ 1200),(500/ 1200)]) * ((rpm/ 1200) factor[(1200/ 1200),(900/ 1200)]))";
};
class EngineMaxOut
{
sound[]={"A3\Sounds_F\vehicles\boat\Boat_Transport_01\Boat_Transport_01_high2", db2, 1.0, 500};
frequency="0.95 + ((rpm/ 1200) factor[(700/ 1200),(1000/ 1200)])*0.3";
volume="engineOn*((rpm/ 1200) factor[(600/ 1200),(1200/ 1200)])";
};
class WaternoiseOutW0
{
sound[]={"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-0-speed1", db0, 1.0, 100};
frequency="1";
volume="(speed factor[4, 1]) * water";
};
class WaternoiseOutW1
{
sound[]={"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-20-speed", db0, 1.0, 150};
frequency="1";
volume="((speed factor[2, 6]) min (speed factor[6, 4]))";
};
class WaternoiseOutW2
{
sound[]={"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-50-speed", db0, 1.0, 300};
frequency="1";
volume="(speed factor[3, 9])";
};
class WaternoiseOutW3
{
sound[]={"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-0-speed1", db0, 1.0, 100};
frequency="1";
volume="(speed factor[-4, -1]) * water";
};
class WaternoiseOutW4
{
sound[]={"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-20-speed", db0, 0.9, 150};
frequency="1";
volume="((speed factor[-2, -6]) min (speed factor[-6, -4]))";
};
class WaternoiseOutW5
{
sound[]={"A3\Sounds_F\vehicles\boat\SFX\voda-o-bok-lodi-50-speed", db0, 0.9, 300};
frequency="1";
volume="(speed factor[-3, -9])";
};
class scrubLandExt
{
sound[]={"A3\Sounds_F\vehicles\boat\noises\boat_land_on_shallow", db5, 1.0, 100};
frequency=1;
volume="(scrubLand factor[0.01, 0.20])";
};
class RainExt
{
sound[]={"A3\Sounds_F\vehicles\noises\rain2_ext", db0, 1.0, 100};
frequency=1;
volume="camPos * (rain - rotorSpeed/2) * 2";
};
class RainInt
{
sound[]={"A3\Sounds_F\vehicles\noises\rain2_ext", db0, 1.0, 100};
frequency=1;
volume="(1-camPos)*(rain - rotorSpeed/2)*2";
};
};
driverLeftHandAnimName="rudder";
driverAction="braf_voad_driver";
crewCrashProtection=0.05;
cargoAction[]={};
getInAction="GetInLow";
getOutAction="GetOutBoat";
cargoGetInAction[]={"GetInLow"};
cargoGetOutAction[]={"GetOutBoat"};
castDriverShadow=1;
castCargoShadow=1;
ejectDeadDriver=1;
ejectDeadCargo=1;
maxSpeed=120;
simulation="shipX";
overSpeedBrakeCoef=0.80000001;
fuelExplosionPower=0;
enginePower=120;
engineShiftY=0.15;
waterLeakiness=0.25;
waterResistanceCoef=0.08;
thrustDelay=1.5;
waterLinearDampingCoefY=5;
waterLinearDampingCoefX=1.0;
waterAngularDampingCoef=1.2;
rudderForceCoef=0.02;
rudderForceCoefAtMaxSpeed=0.001;
driverCompartments="Compartment1";
class VehicleTransport
{
class Cargo
{
parachuteClass="B_Parachute_02_F";
parachuteHeightLimit=5;
canBeTransported=1;
dimensions[]=
{
"BBox_1_1_pos",
"BBox_1_2_pos"
};
};
};
transportSoldier=0;
class CargoTurret;
class Turrets
{
class CargoTurret_01: CargoTurret
{
gunnerAction="passenger_inside_1";
gunnerCompartments="Compartment1";
gunnerName="2 banco Esq";
memoryPointsGetInGunner="pos cargo L midle";
memoryPointsGetInGunnerDir="pos cargo L midle dir";
gunnerGetOutAction="GetOutBoat";
proxyIndex=1;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
isPersonTurret=1;
};
class CargoTurret_02: CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="2 banco Dir";
memoryPointsGetInGunner="pos cargo R midle";
memoryPointsGetInGunnerDir="pos cargo R midle dir";
proxyIndex=2;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_03: CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="1 banco Esq";
memoryPointsGetInGunner="pos cargo L midle";
memoryPointsGetInGunnerDir="pos cargo L midle dir";
proxyIndex=3;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_04: CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="1 banco Dir";
memoryPointsGetInGunner="pos cargo R midle";
memoryPointsGetInGunnerDir="pos cargo R midle dir";
proxyIndex=4;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_05: CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="3 banco Dir";
memoryPointsGetInGunner="pos cargo R midle";
memoryPointsGetInGunnerDir="pos cargo R midle dir";
proxyIndex=5;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_06 : CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="3 banco Esq";
memoryPointsGetInGunner="pos cargo L midle";
memoryPointsGetInGunnerDir="pos cargo L midle dir";
proxyIndex=6;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_07 : CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="4 banco Dir";
memoryPointsGetInGunner="pos cargo R midle";
memoryPointsGetInGunnerDir="pos cargo R midle dir";
proxyIndex=7;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_08 : CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="4 banco Esq";
memoryPointsGetInGunner="pos cargo L midle";
memoryPointsGetInGunnerDir="pos cargo L midle dir";
proxyIndex=8;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
class CargoTurret_09 : CargoTurret_01
{
gunnerAction="passenger_inside_1";
gunnerName="Banco Frente";
memoryPointsGetInGunner="pos cargo F";
memoryPointsGetInGunnerDir="pos cargo F dir";
proxyIndex=9;
maxElev=45;
minElev=-10;
maxTurn=95;
minTurn=-95;
};
};
supplyRadius=3;
class Exhausts
{
class Exhaust1
{
position="exhaust1";
direction="exhaust1_dir";
effect="ExhaustsEffect";
};
};
class Library
{
libTextDesc="Riverine light boat used by Brazilian Army";
};
extCameraPosition[]={0,2.0,-7};
class Damage
{
tex[]={};
mat[]=
{
"braf\braf_boat\BRAF_voadeira\data\camo1.rvmat",
"braf\braf_boat\BRAF_voadeira\data\damage\camo1_damage.rvmat",
"braf\braf_boat\BRAF_voadeira\data\damage\camo1_damage.rvmat"
};
};
ace_interaction_canPush=1;
class EventHandlers: EventHandlers
{
init="if (local (_this select 0)) then {[(_this select 0), """", [], false] call bis_fnc_initVehicle;};";
};
};
class braf_voadeira_01 : braf_voadeira_base_F
{
author="BRAF TEAM";
class SimpleObject
{
eden=1;
animate[]={{"damagehide", 0}, {"damagehide_zbytek", 0}, {"damage_unhide", 0}, {"drivingwheel", 0}, {"propeller", 0}};
hide[]={"clan"};
verticalOffset=1.241;
verticalOffsetWorld=0.115;
init="''";
};
displayName="Voadeira PAPACU (EB)";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_01.jpg";
_generalMacro="braf_voadeira_01";
scope=2;
scopeArsenal=2;
scopeCurator=2;
crew="braf_army_rifleman_jungle_2000";
faction=BRAF_ARMY;
side=2;
typicalCargo[]=
{
"braf_army_rifleman_jungle_2000",
"braf_army_rifleman_jungle_2000"
};
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\Camo1_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\ammobox_co.paa"
};
class UserActions
{
class Push_Back
{
displayName="<t color='#ff0000'>Push Back</t>";
displayNameDefault=<img size="3" image="braf\braf_boat\Braf_Voadeira\Data\ui\push_ca.paa"/>;
priority=6;
position="bow";
onlyForPlayer=1.5;
showWindow=1;
radius=1;
condition="Alive (this)";
statement="this addForce [this vectorModelToWorld [0,-2500,0],[0,0,0]]";
};
class Push_Foward: Push_Back
{
displayName="<t color='#ff0000'>Push Foward</t>";
position="stern";
statement="this addForce [this vectorModelToWorld [0,2500,0],[0,0,0]]";
};
};
};
class braf_voadeira_02 : braf_voadeira_01
{
_generalMacro="braf_voadeira_02";
displayName="Voadeira PAPAXOTA (EB)";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_02.jpg";
scope=2;
scopeArsenal=2;
scopeCurator=2;
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\Camo1b_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\ammobox_co.paa"
};
};
class braf_voadeira_03 : braf_voadeira_01
{
displayName="Voadeira Civil 01";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_03.jpg";
_generalMacro="braf_voadeira_03";
side=3;
scope=2;
scopeArsenal=2;
scopeCurator=2;
crew="C_Man_casual_5_F";
faction=BRAF_CIV;
typicalCargo[]={};
animationList[]=
{
"ammo_hide",1
};
class TransportMagazines
{
};
class TransportWeapons
{
};
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\CIV\Camo1red_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa"
};
};
class braf_voadeira_04 : braf_voadeira_03
{
displayName="Voadeira Civil 02";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_04.jpg";
_generalMacro="braf_voadeira_04";
scope=2;
scopeArsenal=2;
scopeCurator=2;
animationList[]=
{
"ammo_hide",1
};
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\CIV\Camo1blue_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa"
};
};
class braf_voadeira_05 : braf_voadeira_03
{
displayName="Voadeira Civil 03";
_generalMacro="braf_voadeira_05";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_05.jpg";
scope=2;
scopeArsenal=2;
scopeCurator=2;
animationList[]=
{
"ammo_hide",1
};
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\CIV\Camo1green_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa"
};
};
class braf_voadeira_06 : braf_voadeira_03
{
displayName="Voadeira Civil 04";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_06.jpg";
_generalMacro="braf_voadeira_06";
scope=2;
scopeArsenal=2;
scopeCurator=2;
animationList[]=
{
"ammo_hide",1
};
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\CIV\Camo1black_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa"
};
};
class braf_voadeira_07 : braf_voadeira_01
{
_generalMacro="braf_voadeira_07";
displayName="Voadeira PAUNOLOMBO (EB)";
editorPreview="\braf\braf_insignia\editorpreview\Boat\braf_voadeira_07.jpg";
scope=2;
scopeArsenal=2;
scopeCurator=2;
hiddenSelectionsTextures[]=
{
"braf\braf_boat\Braf_Voadeira\Data\Camo1c_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\Camo2_co.paa",
"braf\braf_boat\Braf_Voadeira\Data\ammobox_co.paa"
};
};