v22002: No patch notes.

This commit is contained in:
Robert MacGregor 2017-07-17 22:55:25 -04:00
parent adad8c0787
commit 63560d110c
110 changed files with 5518 additions and 2403 deletions

View file

@ -121,6 +121,12 @@ function createVehicle(%client, %station, %blockName, %team , %pos, %rot, %angle
%obj = %blockName.create(%team);
if(%obj)
{
if ( %blockName $= "MobileBaseVehicle" )
{
%station.station.teleporter.MPB = %obj;
%obj.teleporter = %station.station.teleporter;
}
%station.ready = false;
%obj.team = %team;
%obj.useCreateHeight(true);

View file

@ -200,6 +200,7 @@ function VehicleData::onLeaveLiquid(%data, %obj, %type)
function VehicleData::onDestroyed(%data, %obj, %prevState)
{
radiusVehicleExplosion(%data, %obj);
if(%obj.turretObject)
if(%obj.turretObject.getControllingClient())
%obj.turretObject.getDataBlock().playerDismount(%obj.turretObject);
@ -219,6 +220,79 @@ function VehicleData::onDestroyed(%data, %obj, %prevState)
%obj.schedule(300, "delete");
}
function radiusVehicleExplosion(%data, %vehicle)
{
// this is a modified version of RadiusExplosion() from projectiles.cs
%position = %vehicle.getPosition();
InitContainerRadiusSearch(%position, %data.explosionRadius, $TypeMasks::PlayerObjectType |
$TypeMasks::VehicleObjectType |
$TypeMasks::MoveableObjectType |
$TypeMasks::StaticShapeObjectType |
$TypeMasks::ForceFieldObjectType |
$TypeMasks::TurretObjectType |
$TypeMasks::ItemObjectType);
%numTargets = 0;
while ((%targetObject = containerSearchNext()) != 0)
{
if(%targetObject == %vehicle)
continue;
%dist = containerSearchCurrRadDamageDist();
if (%dist > %data.explosionRadius)
continue;
if (%targetObject.isMounted())
{
%mount = %targetObject.getObjectMount();
if(%mount == %vehicle)
continue;
%found = -1;
for (%i = 0; %i < %mount.getDataBlock().numMountPoints; %i++)
{
if (%mount.getMountNodeObject(%i) == %targetObject)
{
%found = %i;
break;
}
}
if (%found != -1)
{
if (%mount.getDataBlock().isProtectedMountPoint[%found] && (%mount != %vehicle))
continue;
}
}
%targets[%numTargets] = %targetObject;
%targetDists[%numTargets] = %dist;
%numTargets++;
}
for (%i = 0; %i < %numTargets; %i++)
{
%targetObject = %targets[%i];
%dist = %targetDists[%i];
%coverage = calcExplosionCoverage(%position, %targetObject,
($TypeMasks::InteriorObjectType |
$TypeMasks::TerrainObjectType |
$TypeMasks::ForceFieldObjectType));
if (%coverage == 0)
continue;
%amount = (1.0 - (%dist / %data.explosionRadius)) * %coverage * %data.explosionDamage;
%targetData = %targetObject.getDataBlock();
%momVec = "0 0 1";
if(%amount > 0)
%targetData.damageObject(%targetObject, %sourceObject, %position, %amount, $DamageType::Explosion, %momVec);
}
}
function VehicleData::deleteAllMounted()
{
@ -396,6 +470,10 @@ function MobileBaseVehicle::deleteAllMounted(%data, %obj)
}
if(isObject(%obj.shield))
%obj.shield.delete();
%obj.teleporter.setThreadDir($ActivateThread, FALSE);
%obj.teleporter.playThread($ActivateThread,"activate");
%obj.teleporter.playAudio($ActivateSound, StationTeleportDeacitvateSound);
}
//**************************************************************
@ -576,6 +654,13 @@ function MobileBaseVehicle::playerMounted(%data, %obj, %player, %node)
%obj.shield.open();
%obj.shield.schedule(1000,"delete");
%obj.deploySchedule = "";
%obj.teleporter.setThreadDir($ActivateThread, FALSE);
%obj.teleporter.playThread($ActivateThread,"activate");
%obj.teleporter.playAudio($ActivateSound, StationTeleportDeacitvateSound);
%obj.fullyDeployed = 0;
%obj.noEnemyControl = 0;
}
%obj.deployed = 0;
}
@ -634,7 +719,7 @@ function MobileBaseVehicle::vehicleDeploy(%data, %obj, %player)
%obj.station.setSelfPowered();
%obj.station.playThread($PowerThread,"Power");
%obj.station.playAudio($HumSound,StationHumSound);
%obj.station.vehicle = %obj;
%obj.turret = new turret() {
scale = "1 1 1";
dataBlock = "MobileTurretBase";
@ -642,10 +727,13 @@ function MobileBaseVehicle::vehicleDeploy(%data, %obj, %player)
homingCount = "0";
team = %obj.team;
};
%obj.turret.setDamageLevel(%obj.getDamageLevel());
%obj.mountObject(%obj.turret, 1);
%obj.turret.setSelfPowered();
%obj.turret.playThread($PowerThread,"Power");
%obj.turret.mountImage(MissileBarrelLarge, 0 ,false);
checkSpawnPos(%obj, 20);
}
}
else
@ -725,6 +813,8 @@ function MobileBaseVehicle::onEndSequence(%data, %obj, %thread)
%obj.station.goingOut = true;
%obj.shield.setTransform(%obj.getSlotTransform(3));
%obj.shield.close();
%obj.isDeployed = true;
%obj.noEnemyControl = 1;
}
Parent::onEndSequence(%data, %obj, %thread);
@ -735,7 +825,13 @@ function MobileInvStation::onEndSequence(%data, %obj, %thread)
if(!%obj.goingOut)
%obj.startFade(0,0,true);
else
{
%obj.notDeployed = 0;
%obj.vehicle.fullyDeployed = 1;
%obj.vehicle.teleporter.setThreadDir($ActivateThread, TRUE);
%obj.vehicle.teleporter.playThread($ActivateThread,"activate");
%obj.vehicle.teleporter.playAudio($ActivateSound, StationTeleportAcitvateSound);
}
Parent::onEndSequence(%data, %obj, %thread);
}
@ -800,10 +896,21 @@ function MobileBaseVehicle::checkDeploy(%data, %obj)
function MobileBaseVehicle::checkTurretDistance(%data, %obj)
{
%pos = getWords(%obj.getTransform(), 0, 2);
InitContainerRadiusSearch(%pos, 150, $TypeMasks::TurretObjectType);
InitContainerRadiusSearch(%pos, 100, $TypeMasks::TurretObjectType | $TypeMasks::InteriorObjectType);
while ((%objFound = ContainerSearchNext()) != 0)
if(%objFound.getDataBlock().ClassName $= "TurretBase")
return "Turret Base in area. Unable to deploy.";
{
if(%objFound.getType() & $TypeMasks::TurretObjectType)
{
if(%objFound.getDataBlock().ClassName $= "TurretBase")
return "Turret Base is in the area. Unable to deploy.";
}
else
{
%subStr = getSubStr(%objFound.interiorFile, 1, 4);
if(%subStr !$= "rock" && %subStr !$= "spir" && %subStr !$= "misc")
return "Building is in the area. Unable to deploy.";
}
}
return "";
}
@ -979,7 +1086,7 @@ function VehicleData::damageObject(%data, %targetObject, %sourceObject, %positio
function VehicleData::onImpact(%data, %vehicleObject, %collidedObject, %vec, %vecLen)
{
if(%vecLen > %data.minImpactSpeed)
%data.damageObject(%vehicleObject, 0, VectorAdd(%vec, %vehicleObject.getPosition),
%data.damageObject(%vehicleObject, 0, VectorAdd(%vec, %vehicleObject.getPosition()),
%vecLen * %data.speedDamageScale, $DamageType::Ground);
// associated "crash" sounds

View file

@ -101,7 +101,7 @@ datablock AudioProfile(BomberBombIdleSound)
// VEHICLE CHARACTERISTICS
//**************************************************************
datablock FlyingVehicleData(BomberFlyer) : AirVehicleDamageProfile
datablock FlyingVehicleData(BomberFlyer) : BomberDamageProfile
{
spawnOffset = "0 0 2";
@ -129,6 +129,8 @@ datablock FlyingVehicleData(BomberFlyer) : AirVehicleDamageProfile
cameraOffset = 5;
cameraLag = 1.0;
explosion = LargeAirVehicleExplosion;
explosionDamage = 0.5;
explosionRadius = 5.0;
maxDamage = 2.80; // Total health
destroyedLevel = 2.80; // Damage textures show up at this health level
@ -140,12 +142,6 @@ datablock FlyingVehicleData(BomberFlyer) : AirVehicleDamageProfile
rotationalDrag = 1800; // Angular Drag (dampens the drift after you stop moving the mouse...also tumble drag)
rechargeRate = 0.8;
// Turbo Jet
jetForce = 5000; // Afterburner thrust (this is in addition to normal thrust)
minJetEnergy = 40.0; // Afterburner can't be used if below this threshhold.
jetEnergyDrain = 2.0; // Energy use of the afterburners (low number is less drain...can be fractional)
vertThrustMultiple = 2.0;
// Auto stabilize speed
maxAutoSpeed = 15; // Autostabilizer kicks in when less than this speed. (meters/second)
autoAngularForce = 1500; // Angular stabilizer force (this force levels you out when autostabilizer kicks in)
@ -163,6 +159,12 @@ datablock FlyingVehicleData(BomberFlyer) : AirVehicleDamageProfile
hoverHeight = 5; // Height off the ground at rest
createHoverHeight = 3; // Height off the ground when created
// Turbo Jet
jetForce = 3000; // Afterburner thrust (this is in addition to normal thrust)
minJetEnergy = 40.0; // Afterburner can't be used if below this threshhold.
jetEnergyDrain = 3.0; // Energy use of the afterburners (low number is less drain...can be fractional)
vertThrustMultiple = 2.0;
dustEmitter = LargeVehicleLiftoffDustEmitter;
triggerDustHeight = 4.0;
dustHeight = 2.0;
@ -181,13 +183,16 @@ datablock FlyingVehicleData(BomberFlyer) : AirVehicleDamageProfile
bodyFriction = 0; // Don't mess with this.
bodyRestitution = 0.5; // When you hit the ground, how much you rebound. (between 0 and 1)
minRollSpeed = 0; // Don't mess with this.
minImpactSpeed = 8; // If hit ground at speed above this then it's an impact. Meters/second
softImpactSpeed = 10; // Sound hooks. This is the soft hit.
softImpactSpeed = 20; // Sound hooks. This is the soft hit.
hardImpactSpeed = 25; // Sound hooks. This is the hard hit.
speedDamageScale = 0.035;
collDamageThresholdVel = 20.0;
collDamageMultiplier = 0.025;
// Ground Impact Damage (uses DamageType::Ground)
minImpactSpeed = 20; // If hit ground at speed above this then it's an impact. Meters/second
speedDamageScale = 0.150;
// Object Impact Damage (uses DamageType::Impact)
collDamageThresholdVel = 25;
collDamageMultiplier = 0.030;
//
minTrailSpeed = 15; // The speed your contrail shows up at.
@ -204,9 +209,9 @@ datablock FlyingVehicleData(BomberFlyer) : AirVehicleDamageProfile
//
softSplashSoundVelocity = 15.0;
mediumSplashSoundVelocity = 30.0;
hardSplashSoundVelocity = 60.0;
exitSplashSoundVelocity = 20.0;
mediumSplashSoundVelocity = 20.0;
hardSplashSoundVelocity = 30.0;
exitSplashSoundVelocity = 10.0;
exitingWater = VehicleExitWaterHardSound;
impactWaterEasy = VehicleImpactWaterSoftSound;

View file

@ -21,7 +21,7 @@ datablock AudioProfile(HAPCFlyerThrustSound)
// VEHICLE CHARACTERISTICS
//**************************************************************
datablock FlyingVehicleData(HAPCFlyer) : AirVehicleDamageProfile
datablock FlyingVehicleData(HAPCFlyer) : HavocDamageProfile
{
spawnOffset = "0 0 6";
@ -51,6 +51,8 @@ datablock FlyingVehicleData(HAPCFlyer) : AirVehicleDamageProfile
cameraOffset = 2;
cameraLag = 8.5;
explosion = LargeAirVehicleExplosion;
explosionDamage = 0.5;
explosionRadius = 5.0;
maxDamage = 3.50;
destroyedLevel = 3.50;
@ -82,7 +84,7 @@ datablock FlyingVehicleData(HAPCFlyer) : AirVehicleDamageProfile
// Turbo Jet
jetForce = 5000;
minJetEnergy = 55;
jetEnergyDrain = 2.8;
jetEnergyDrain = 3.6;
vertThrustMultiple = 2.0;
@ -104,13 +106,16 @@ datablock FlyingVehicleData(HAPCFlyer) : AirVehicleDamageProfile
bodyFriction = 0;
bodyRestitution = 0.3;
minRollSpeed = 0;
minImpactSpeed = 8; // If hit ground at speed above this then it's an impact. Meters/second
softImpactSpeed = 10; // Sound hooks. This is the soft hit.
hardImpactSpeed = 25; // Sound hooks. This is the hard hit.
speedDamageScale = 0.03;
softImpactSpeed = 12; // Sound hooks. This is the soft hit.
hardImpactSpeed = 15; // Sound hooks. This is the hard hit.
collDamageThresholdVel = 20.0;
collDamageMultiplier = 0.03;
// Ground Impact Damage (uses DamageType::Ground)
minImpactSpeed = 12; // If hit ground at speed above this then it's an impact. Meters/second
speedDamageScale = 0.060;
// Object Impact Damage (uses DamageType::Impact)
collDamageThresholdVel = 12;
collDamageMultiplier = 0.080;
//
minTrailSpeed = 15;
@ -126,10 +131,10 @@ datablock FlyingVehicleData(HAPCFlyer) : AirVehicleDamageProfile
//wheelImpactSound = WheelImpactSound;
//
softSplashSoundVelocity = 15.0;
mediumSplashSoundVelocity = 30.0;
hardSplashSoundVelocity = 60.0;
exitSplashSoundVelocity = 20.0;
softSplashSoundVelocity = 5.0;
mediumSplashSoundVelocity = 8.0;
hardSplashSoundVelocity = 12.0;
exitSplashSoundVelocity = 8.0;
exitingWater = VehicleExitWaterHardSound;
impactWaterEasy = VehicleImpactWaterSoftSound;

View file

@ -72,7 +72,7 @@ datablock SensorData(MPBDeployedSensor) : VehiclePulseSensor
jamRadius = 50;
};
datablock WheeledVehicleData(MobileBaseVehicle) : GroundVehicleDamageProfile
datablock WheeledVehicleData(MobileBaseVehicle) : MPBDamageProfile
{
spawnOffset = "0 0 1.0";
@ -98,9 +98,9 @@ datablock WheeledVehicleData(MobileBaseVehicle) : GroundVehicleDamageProfile
cameraOffset = 6;
cameraLag = 1.5;
explosion = LargeGroundVehicleExplosion;
explosionDamage = 0.5;
explosionRadius = 5.0;
noEnemyControl = 1;
maxSteeringAngle = 0.3; // 20 deg.
// Used to test if the station can deploy
@ -111,9 +111,6 @@ datablock WheeledVehicleData(MobileBaseVehicle) : GroundVehicleDamageProfile
stationPoints[5] = "2.3 -7.38703 -0.65";
stationPoints[6] = "2.3 -11.8 -0.65";
collDamageThresholdVel = 10.0;
collDamageMultiplier = 0.025;
// Rigid Body
mass = 2000;
bodyFriction = 0.8;
@ -123,10 +120,16 @@ datablock WheeledVehicleData(MobileBaseVehicle) : GroundVehicleDamageProfile
gyroDamping = 0.3;
stabilizerForce = 10;
minDrag = 10;
minImpactSpeed = 5;
softImpactSpeed = 13; // Play SoftImpact Sound
hardImpactSpeed = 20; // Play HardImpact Sound
speedDamageScale = 0.06;
softImpactSpeed = 20; // Play SoftImpact Sound
hardImpactSpeed = 25; // Play HardImpact Sound
// Ground Impact Damage (uses DamageType::Ground)
minImpactSpeed = 25;
speedDamageScale = 0.220;
// Object Impact Damage (uses DamageType::Impact)
collDamageThresholdVel = 28;
collDamageMultiplier = 0.040;
// Engine
engineTorque = 4.5 * 745;
@ -171,10 +174,10 @@ datablock WheeledVehicleData(MobileBaseVehicle) : GroundVehicleDamageProfile
wheelImpactSound = WheelImpactSound;
//
softSplashSoundVelocity = 15.0;
mediumSplashSoundVelocity = 30.0;
hardSplashSoundVelocity = 60.0;
exitSplashSoundVelocity = 20.0;
softSplashSoundVelocity = 5.0;
mediumSplashSoundVelocity = 8.0;
hardSplashSoundVelocity = 12.0;
exitSplashSoundVelocity = 8.0;
exitingWater = VehicleExitWaterSoftSound;
impactWaterEasy = VehicleImpactWaterSoftSound;

View file

@ -44,7 +44,7 @@ datablock AudioProfile(ShrikeBlasterDryFireSound)
// VEHICLE CHARACTERISTICS
//**************************************************************
datablock FlyingVehicleData(ScoutFlyer) : AirVehicleDamageProfile
datablock FlyingVehicleData(ScoutFlyer) : ShrikeDamageProfile
{
spawnOffset = "0 0 2";
@ -66,6 +66,8 @@ datablock FlyingVehicleData(ScoutFlyer) : AirVehicleDamageProfile
cameraOffset = 2.5;
cameraLag = 0.9;
explosion = VehicleExplosion;
explosionDamage = 0.5;
explosionRadius = 5.0;
maxDamage = 1.40;
destroyedLevel = 1.40;
@ -77,12 +79,6 @@ datablock FlyingVehicleData(ScoutFlyer) : AirVehicleDamageProfile
rotationalDrag = 900; // Anguler Drag (dampens the drift after you stop moving the mouse...also tumble drag)
rechargeRate = 0.8;
// Turbo Jet
jetForce = 2000; // Afterburner thrust (this is in addition to normal thrust)
minJetEnergy = 28; // Afterburner can't be used if below this threshhold.
vertThrustMultiple = 2.0;
jetEnergyDrain = 2.8; // Energy use of the afterburners (low number is less drain...can be fractional) // Auto stabilize speed
maxAutoSpeed = 15; // Autostabilizer kicks in when less than this speed. (meters/second)
autoAngularForce = 400; // Angular stabilizer force (this force levels you out when autostabilizer kicks in)
autoLinearForce = 300; // Linear stabilzer force (this slows you down when autostabilizer kicks in)
@ -99,17 +95,26 @@ datablock FlyingVehicleData(ScoutFlyer) : AirVehicleDamageProfile
hoverHeight = 5; // Height off the ground at rest
createHoverHeight = 3; // Height off the ground when created
// Turbo Jet
jetForce = 2000; // Afterburner thrust (this is in addition to normal thrust)
minJetEnergy = 28; // Afterburner can't be used if below this threshhold.
jetEnergyDrain = 2.8; // Energy use of the afterburners (low number is less drain...can be fractional) // Auto stabilize speed
vertThrustMultiple = 2.0;
// Rigid body
mass = 150; // Mass of the vehicle
bodyFriction = 0; // Don't mess with this.
bodyRestitution = 0.5; // When you hit the ground, how much you rebound. (between 0 and 1)
minRollSpeed = 0; // Don't mess with this.
minImpactSpeed = 8; // If hit ground at speed above this then it's an impact. Meters/second
softImpactSpeed = 10; // Sound hooks. This is the soft hit.
softImpactSpeed = 14; // Sound hooks. This is the soft hit.
hardImpactSpeed = 25; // Sound hooks. This is the hard hit.
speedDamageScale = 0.04;
collDamageThresholdVel = 20.0;
// Ground Impact Damage (uses DamageType::Ground)
minImpactSpeed = 23; // If hit ground at speed above this then it's an impact. Meters/second
speedDamageScale = 0.06;
// Object Impact Damage (uses DamageType::Impact)
collDamageThresholdVel = 23.0;
collDamageMultiplier = 0.02;
//
@ -126,10 +131,10 @@ datablock FlyingVehicleData(ScoutFlyer) : AirVehicleDamageProfile
//wheelImpactSound = WheelImpactSound;
//
softSplashSoundVelocity = 15.0;
mediumSplashSoundVelocity = 30.0;
hardSplashSoundVelocity = 60.0;
exitSplashSoundVelocity = 20.0;
softSplashSoundVelocity = 10.0;
mediumSplashSoundVelocity = 15.0;
hardSplashSoundVelocity = 20.0;
exitSplashSoundVelocity = 10.0;
exitingWater = VehicleExitWaterMediumSound;
impactWaterEasy = VehicleImpactWaterSoftSound;

View file

@ -100,7 +100,7 @@ datablock AudioProfile(AssaultMortarIdleSound)
// VEHICLE CHARACTERISTICS
//**************************************************************
datablock HoverVehicleData(AssaultVehicle) : GroundVehicleDamageProfile
datablock HoverVehicleData(AssaultVehicle) : TankDamageProfile
{
spawnOffset = "0 0 4";
@ -129,15 +129,14 @@ datablock HoverVehicleData(AssaultVehicle) : GroundVehicleDamageProfile
cameraOffset = 3;
cameraLag = 1.5;
explosion = LargeGroundVehicleExplosion;
explosionDamage = 0.5;
explosionRadius = 5.0;
maxSteeringAngle = 0.5; // 20 deg.
maxDamage = 3.15;
destroyedLevel = 3.15;
collDamageThresholdVel = 20.0;
collDamageMultiplier = 0.03;
isShielded = true;
rechargeRate = 1.0;
energyPerDamagePoint = 135;
@ -154,10 +153,16 @@ datablock HoverVehicleData(AssaultVehicle) : GroundVehicleDamageProfile
gyroDamping = 0.3;
stabilizerForce = 20;
minDrag = 10;
minImpactSpeed = 5;
softImpactSpeed = 5; // Play SoftImpact Sound
hardImpactSpeed = 15; // Play HardImpact Sound
speedDamageScale = 0.06;
softImpactSpeed = 15; // Play SoftImpact Sound
hardImpactSpeed = 18; // Play HardImpact Sound
// Ground Impact Damage (uses DamageType::Ground)
minImpactSpeed = 17;
speedDamageScale = 0.060;
// Object Impact Damage (uses DamageType::Impact)
collDamageThresholdVel = 17;
collDamageMultiplier = 0.070;
dragForce = 40 / 20;
vertFactor = 0.0;
@ -201,10 +206,10 @@ datablock HoverVehicleData(AssaultVehicle) : GroundVehicleDamageProfile
forwardJetEmitter = TankJetEmitter;
//
softSplashSoundVelocity = 15.0;
mediumSplashSoundVelocity = 30.0;
hardSplashSoundVelocity = 60.0;
exitSplashSoundVelocity = 20.0;
softSplashSoundVelocity = 5.0;
mediumSplashSoundVelocity = 10.0;
hardSplashSoundVelocity = 15.0;
exitSplashSoundVelocity = 10.0;
exitingWater = VehicleExitWaterMediumSound;
impactWaterEasy = VehicleImpactWaterSoftSound;
@ -346,7 +351,7 @@ datablock TurretImageData(AssaultPlasmaTurretBarrel)
usesEnergy = true;
useMountEnergy = true;
fireEnergy = 3.75;
minEnergy = 3.75;
minEnergy = 20.0;
// Turret parameters
activationMS = 4000;
@ -398,9 +403,10 @@ datablock TurretImageData(AssaultPlasmaTurretBarrel)
stateName[5] = "Deactivate";
stateSequence[5] = "Activate";
stateDirection[5] = false;
stateTimeoutValue[5] = 1;
stateTransitionOnLoaded[5] = "ActivateReady";
stateTransitionOnTimeout[5] = "Dead";
stateTimeoutValue[5] = 30;
// stateTransitionOnLoaded[5] = "ActivateReady";
// stateTransitionOnTimeout[5] = "Dead";
stateTransitionOnTimeout[5] = "ActivateReady";
stateName[6] = "Dead";
stateTransitionOnLoaded[6] = "ActivateReady";

View file

@ -31,7 +31,7 @@ datablock AudioProfile(ScoutThrustSound)
// VEHICLE CHARACTERISTICS
//**************************************************************
datablock HoverVehicleData(ScoutVehicle) : GravCycleDamageProfile
datablock HoverVehicleData(ScoutVehicle) : WildcatDamageProfile
{
spawnOffset = "0 0 1";
@ -54,6 +54,8 @@ datablock HoverVehicleData(ScoutVehicle) : GravCycleDamageProfile
numMountPoints = 1;
isProtectedMountPoint[0] = true;
explosion = VehicleExplosion;
explosionDamage = 0.5;
explosionRadius = 5.0;
lightOnly = 1;
@ -67,17 +69,20 @@ datablock HoverVehicleData(ScoutVehicle) : GravCycleDamageProfile
minJetEnergy = 15;
jetEnergyDrain = 1.3;
collDamageThresholdVel = 20.0;
collDamageMultiplier = 0.01;
// Rigid Body
mass = 400;
bodyFriction = 0.1;
bodyRestitution = 0.5;
minImpactSpeed = 10;
softImpactSpeed = 10; // Play SoftImpact Sound
hardImpactSpeed = 25; // Play HardImpact Sound
speedDamageScale = 0.008;
softImpactSpeed = 20; // Play SoftImpact Sound
hardImpactSpeed = 28; // Play HardImpact Sound
// Ground Impact Damage (uses DamageType::Ground)
minImpactSpeed = 29;
speedDamageScale = 0.010;
// Object Impact Damage (uses DamageType::Impact)
collDamageThresholdVel = 23;
collDamageMultiplier = 0.040;
dragForce = 25 / 45.0;
vertFactor = 0.0;
@ -119,10 +124,10 @@ datablock HoverVehicleData(ScoutVehicle) : GravCycleDamageProfile
wheelImpactSound = WheelImpactSound;
//
softSplashSoundVelocity = 20.0;
mediumSplashSoundVelocity = 50.0;
hardSplashSoundVelocity = 100.0;
exitSplashSoundVelocity = 20.0;
softSplashSoundVelocity = 10.0;
mediumSplashSoundVelocity = 20.0;
hardSplashSoundVelocity = 30.0;
exitSplashSoundVelocity = 10.0;
exitingWater = VehicleExitWaterSoftSound;
impactWaterEasy = VehicleImpactWaterSoftSound;