// Load dts shapes and merge animations
datablock TSShapeConstructor(BSMechDts)
{
baseShape = "./BSMech.dts";
sequence0 = "./BS_root.dsq root";
sequence1 = "./BS_walk.dsq run";
sequence2 = "./BS_walk.dsq walk";
sequence3 = "./BS_back.dsq back";
sequence4 = "./BS_side.dsq side";
sequence5 = "./BS_crouch.dsq crouch";
sequence6 = "./BS_crouchwalk.dsq crouchRun";
sequence7 = "./BS_crouchback.dsq crouchBack";
sequence8 = "./BS_crouchside.dsq crouchSide";
sequence9 = "./BS_look.dsq look";
sequence10 = "./BS_headside.dsq headside";
sequence11 = "./BS_root.dsq headUp";
sequence12 = "./BS_jump.dsq jump";
sequence13 = "./BS_jump.dsq standjump";
sequence14 = "./BS_fall.dsq fall";
sequence15 = "./BS_land.dsq land";
sequence16 = "./BS_root.dsq armAttack";
sequence17 = "./BS_ArmupLeft.dsq armReadyLeft";
sequence18 = "./BS_ArmupRight.dsq armReadyRight";
sequence19 = "./BS_ArmupBoth.dsq armReadyBoth";
sequence20 = "./BS_root.dsq spearready";
sequence21 = "./BS_root.dsq spearThrow";
sequence22 = "./BS_root.dsq talk";
sequence23 = "./BS_death1.dsq death1";
sequence24 = "./BS_root.dsq shiftUp";
sequence25 = "./BS_root.dsq shiftDown";
sequence26 = "./BS_RecoilBoth.dsq shiftAway";
sequence27 = "./BS_root.dsq shiftTo";
sequence28 = "./BS_RecoilLeft.dsq shiftLeft";
sequence29 = "./BS_RecoilRight.dsq shiftRight";
sequence30 = "./BS_root.dsq rotCW";
sequence31 = "./BS_root.dsq rotCCW";
sequence32 = "./BS_root.dsq undo";
sequence33 = "./BS_root.dsq plant";
sequence34 = "./BS_root.dsq sit";
sequence35 = "./BS_root.dsq wrench";
sequence36 = "./BS_root.dsq activate";
sequence37 = "./BS_root.dsq activate2";
sequence38 = "./BS_root.dsq leftrecoil";
};
datablock AudioProfile(BSMechJumpSound)
{
fileName = "./jumpBSMech.wav";
description = AudioClose3d;
preload = true;
};
datablock PlayerData(BSMechArmor : PlayerStandardArmor)
{
renderFirstPerson = false;
emap = false;
className = Armor;
shapeFile = "./BSMech.dts";
cameraMaxDist = 8;
cameraTilt = 0.261;//0.174 * 2.5; //~25 degrees
cameraVerticalOffset = 2.3;
cameraDefaultFov = 90.0;
cameraMinFov = 5.0;
cameraMaxFov = 120.0;
//debrisShapeName = "~/data/shapes/player/debris_player.dts";
//debris = BSMechDebris;
aiAvoidThis = true;
minLookAngle = -1.5708;
maxLookAngle = 1.5708;
maxFreelookAngle = 3.0;
mass = 90;
drag = 0.1;
density = 0.7;
maxDamage = 250;
maxEnergy = 100;
repairRate = 0.33;
rechargeRate = 0.4;
runForce = 28 * 90;
runEnergyDrain = 0;
minRunEnergy = 0;
maxForwardSpeed = 6; //12
maxBackwardSpeed = 6;
maxSideSpeed = 1;
maxForwardCrouchSpeed = 6; //12
maxBackwardCrouchSpeed = 6;
maxSideCrouchSpeed = 1;
maxForwardProneSpeed = 0;
maxBackwardProneSpeed = 0;
maxSideProneSpeed = 0;
maxForwardWalkSpeed = 0;
maxBackwardWalkSpeed = 0;
maxSideWalkSpeed = 0;
maxUnderwaterForwardSpeed = 8.4;
maxUnderwaterBackwardSpeed = 7.8;
maxUnderwaterSideSpeed = 7.8;
jumpForce = 17 * 90; //8.3 * 90;
jumpEnergyDrain = 0;
minJumpEnergy = 0;
jumpDelay = 0;
minJetEnergy = 2;
jetEnergyDrain = 2;
canJet = 1;
minImpactSpeed = 250;
speedDamageScale = 3.8;
boundingBox = vectorScale("2.5 2.5 4", 4); //2.5 2.5 2.4", 4
crouchBoundingBox = vectorScale("2.5 2.5 3", 4); //2.5 2.5 2.4", 4
pickupRadius = 0.75;
// Foot Prints
//decalData = BSMechFootprint;
//decalOffset = 0.25;
canjet = true;
// jetEmitter = "PlayerJetEmitter";
// jetGroundEmitter = "";
// jetGroundDistance = 4;
//footPuffEmitter = LightPuffEmitter;
footPuffNumParts = 10;
footPuffRadius = 0.25;
//dustEmitter = LiftoffDustEmitter;
splash = PlayerSplash;
splashVelocity = 4.0;
splashAngle = 67.0;
splashFreqMod = 300.0;
splashVelEpsilon = 0.60;
bubbleEmitTime = 0.1;
splashEmitter[0] = PlayerFoamDropletsEmitter;
splashEmitter[1] = PlayerFoamEmitter;
splashEmitter[2] = PlayerBubbleEmitter;
mediumSplashSoundVelocity = 10.0;
hardSplashSoundVelocity = 20.0;
exitSplashSoundVelocity = 5.0;
// Controls over slope of runnable/jumpable surfaces
runSurfaceAngle = 85;
jumpSurfaceAngle = 86;
minJumpSpeed = 20;
maxJumpSpeed = 30;
horizMaxSpeed = 68;
horizResistSpeed = 33;
horizResistFactor = 0.35;
upMaxSpeed = 80;
upResistSpeed = 25;
upResistFactor = 0.3;
footstepSplashHeight = 0.35;
//NOTE: some sounds commented out until wav's are available
JumpSound = BSMechJumpSound;
// Footstep Sounds
// FootSoftSound = BSMechFootFallSound;
// FootHardSound = BSMechFootFallSound;
// FootMetalSound = BSMechFootFallSound;
// FootSnowSound = BSMechFootFallSound;
// FootShallowSound = BSMechFootFallSound;
// FootWadingSound = BSMechFootFallSound;
// FootUnderwaterSound = BSMechFootFallSound;
//FootBubblesSound = FootLightBubblesSound;
//movingBubblesSound = ArmorMoveBubblesSound;
//waterBreathSound = WaterBreathMaleSound;
//impactSoftSound = ImpactLightSoftSound;
//impactHardSound = ImpactLightHardSound;
//impactMetalSound = ImpactLightMetalSound;
//impactSnowSound = ImpactLightSnowSound;
impactWaterEasy = Splash1Sound;
impactWaterMedium = Splash1Sound;
impactWaterHard = Splash1Sound;
groundImpactMinSpeed = 10.0;
groundImpactShakeFreq = "4.0 4.0 4.0";
groundImpactShakeAmp = "1.0 1.0 1.0";
groundImpactShakeDuration = 0.8;
groundImpactShakeFalloff = 10.0;
//exitingWater = ExitingWaterLightSound;
// Inventory Items
maxItems = 10; //total number of bricks you can carry
maxWeapons = 5; //this will be controlled by mini-game code
maxTools = 5;
uiName = "Battle Suit";
rideable = false;
lookUpLimit = 0.6;
lookDownLimit = 0.2;
canRide = false;
showEnergyBar = true;
paintable = true;
// brickImage = BSMechBrickImage; //the imageData to use for brick deployment
};