| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673 |
- //-----------------------------------------------------------------------------
- // Copyright (c) 2012 GarageGames, LLC
- //
- // Permission is hereby granted, free of charge, to any person obtaining a copy
- // of this software and associated documentation files (the "Software"), to
- // deal in the Software without restriction, including without limitation the
- // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
- // sell copies of the Software, and to permit persons to whom the Software is
- // furnished to do so, subject to the following conditions:
- //
- // The above copyright notice and this permission notice shall be included in
- // all copies or substantial portions of the Software.
- //
- // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- // IN THE SOFTWARE.
- //-----------------------------------------------------------------------------
- //----------------------------------------------------------------------------
- // Player Audio Profiles
- //----------------------------------------------------------------------------
- datablock SFXProfile(DeathCrySound)
- {
- fileName = "art/sound/orc_death";
- description = AudioClose3d;
- preload = true;
- };
- datablock SFXProfile(PainCrySound)
- {
- fileName = "art/sound/orc_pain";
- description = AudioClose3d;
- preload = true;
- };
- //----------------------------------------------------------------------------
- datablock SFXProfile(FootLightSoftSound)
- {
- filename = "art/sound/lgtStep_mono_01";
- description = AudioClosest3d;
- preload = true;
- };
- datablock SFXProfile(FootLightHardSound)
- {
- filename = "art/sound/hvystep_ mono_01";
- description = AudioClose3d;
- preload = true;
- };
- datablock SFXProfile(FootLightMetalSound)
- {
- filename = "art/sound/metalstep_mono_01";
- description = AudioClose3d;
- preload = true;
- };
- datablock SFXProfile(FootLightSnowSound)
- {
- filename = "art/sound/snowstep_mono_01";
- description = AudioClosest3d;
- preload = true;
- };
- datablock SFXProfile(FootLightShallowSplashSound)
- {
- filename = "art/sound/waterstep_mono_01";
- description = AudioClose3d;
- preload = true;
- };
- datablock SFXProfile(FootLightWadingSound)
- {
- filename = "art/sound/waterstep_mono_01";
- description = AudioClose3d;
- preload = true;
- };
- datablock SFXProfile(FootLightUnderwaterSound)
- {
- filename = "art/sound/waterstep_mono_01";
- description = AudioClosest3d;
- preload = true;
- };
- //----------------------------------------------------------------------------
- // Splash
- //----------------------------------------------------------------------------
- datablock ParticleData(PlayerSplashMist)
- {
- dragCoefficient = 2.0;
- gravityCoefficient = -0.05;
- inheritedVelFactor = 0.0;
- constantAcceleration = 0.0;
- lifetimeMS = 400;
- lifetimeVarianceMS = 100;
- useInvAlpha = false;
- spinRandomMin = -90.0;
- spinRandomMax = 500.0;
- textureName = "art/shapes/actors/common/splash";
- colors[0] = "0.7 0.8 1.0 1.0";
- colors[1] = "0.7 0.8 1.0 0.5";
- colors[2] = "0.7 0.8 1.0 0.0";
- sizes[0] = 0.5;
- sizes[1] = 0.5;
- sizes[2] = 0.8;
- times[0] = 0.0;
- times[1] = 0.5;
- times[2] = 1.0;
- };
- datablock ParticleEmitterData(PlayerSplashMistEmitter)
- {
- ejectionPeriodMS = 5;
- periodVarianceMS = 0;
- ejectionVelocity = 3.0;
- velocityVariance = 2.0;
- ejectionOffset = 0.0;
- thetaMin = 85;
- thetaMax = 85;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- lifetimeMS = 250;
- particles = "PlayerSplashMist";
- };
- datablock ParticleData(PlayerBubbleParticle)
- {
- dragCoefficient = 0.0;
- gravityCoefficient = -0.50;
- inheritedVelFactor = 0.0;
- constantAcceleration = 0.0;
- lifetimeMS = 400;
- lifetimeVarianceMS = 100;
- useInvAlpha = false;
- textureName = "art/shapes/actors/common/splash";
- colors[0] = "0.7 0.8 1.0 0.4";
- colors[1] = "0.7 0.8 1.0 0.4";
- colors[2] = "0.7 0.8 1.0 0.0";
- sizes[0] = 0.1;
- sizes[1] = 0.3;
- sizes[2] = 0.3;
- times[0] = 0.0;
- times[1] = 0.5;
- times[2] = 1.0;
- };
- datablock ParticleEmitterData(PlayerBubbleEmitter)
- {
- ejectionPeriodMS = 1;
- periodVarianceMS = 0;
- ejectionVelocity = 2.0;
- ejectionOffset = 0.5;
- velocityVariance = 0.5;
- thetaMin = 0;
- thetaMax = 80;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- particles = "PlayerBubbleParticle";
- };
- datablock ParticleData(PlayerFoamParticle)
- {
- dragCoefficient = 2.0;
- gravityCoefficient = -0.05;
- inheritedVelFactor = 0.1;
- constantAcceleration = 0.0;
- lifetimeMS = 600;
- lifetimeVarianceMS = 100;
- useInvAlpha = false;
- spinRandomMin = -90.0;
- spinRandomMax = 500.0;
- textureName = "art/particles/millsplash01";
- colors[0] = "0.7 0.8 1.0 0.20";
- colors[1] = "0.7 0.8 1.0 0.20";
- colors[2] = "0.7 0.8 1.0 0.00";
- sizes[0] = 0.2;
- sizes[1] = 0.4;
- sizes[2] = 1.6;
- times[0] = 0.0;
- times[1] = 0.5;
- times[2] = 1.0;
- };
- datablock ParticleEmitterData(PlayerFoamEmitter)
- {
- ejectionPeriodMS = 10;
- periodVarianceMS = 0;
- ejectionVelocity = 3.0;
- velocityVariance = 1.0;
- ejectionOffset = 0.0;
- thetaMin = 85;
- thetaMax = 85;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- particles = "PlayerFoamParticle";
- };
- datablock ParticleData( PlayerFoamDropletsParticle )
- {
- dragCoefficient = 1;
- gravityCoefficient = 0.2;
- inheritedVelFactor = 0.2;
- constantAcceleration = -0.0;
- lifetimeMS = 600;
- lifetimeVarianceMS = 0;
- textureName = "art/shapes/actors/common/splash";
- colors[0] = "0.7 0.8 1.0 1.0";
- colors[1] = "0.7 0.8 1.0 0.5";
- colors[2] = "0.7 0.8 1.0 0.0";
- sizes[0] = 0.8;
- sizes[1] = 0.3;
- sizes[2] = 0.0;
- times[0] = 0.0;
- times[1] = 0.5;
- times[2] = 1.0;
- };
- datablock ParticleEmitterData( PlayerFoamDropletsEmitter )
- {
- ejectionPeriodMS = 7;
- periodVarianceMS = 0;
- ejectionVelocity = 2;
- velocityVariance = 1.0;
- ejectionOffset = 0.0;
- thetaMin = 60;
- thetaMax = 80;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- orientParticles = true;
- particles = "PlayerFoamDropletsParticle";
- };
- datablock ParticleData( PlayerWakeParticle )
- {
- textureName = "art/particles/wake";
- dragCoefficient = "0.0";
- gravityCoefficient = "0.0";
- inheritedVelFactor = "0.0";
- lifetimeMS = "2500";
- lifetimeVarianceMS = "200";
- windCoefficient = "0.0";
- useInvAlpha = "1";
- spinRandomMin = "30.0";
- spinRandomMax = "30.0";
- animateTexture = true;
- framesPerSec = 1;
- animTexTiling = "2 1";
- animTexFrames = "0 1";
- colors[0] = "1 1 1 0.1";
- colors[1] = "1 1 1 0.7";
- colors[2] = "1 1 1 0.3";
- colors[3] = "0.5 0.5 0.5 0";
- sizes[0] = "1.0";
- sizes[1] = "2.0";
- sizes[2] = "3.0";
- sizes[3] = "3.5";
- times[0] = "0.0";
- times[1] = "0.25";
- times[2] = "0.5";
- times[3] = "1.0";
- };
- datablock ParticleEmitterData( PlayerWakeEmitter )
- {
- ejectionPeriodMS = "200";
- periodVarianceMS = "10";
- ejectionVelocity = "0";
- velocityVariance = "0";
- ejectionOffset = "0";
- thetaMin = "89";
- thetaMax = "90";
- phiReferenceVel = "0";
- phiVariance = "1";
- alignParticles = "1";
- alignDirection = "0 0 1";
- particles = "PlayerWakeParticle";
- };
- datablock ParticleData( PlayerSplashParticle )
- {
- dragCoefficient = 1;
- gravityCoefficient = 0.2;
- inheritedVelFactor = 0.2;
- constantAcceleration = -0.0;
- lifetimeMS = 600;
- lifetimeVarianceMS = 0;
- colors[0] = "0.7 0.8 1.0 1.0";
- colors[1] = "0.7 0.8 1.0 0.5";
- colors[2] = "0.7 0.8 1.0 0.0";
- sizes[0] = 0.5;
- sizes[1] = 0.5;
- sizes[2] = 0.5;
- times[0] = 0.0;
- times[1] = 0.5;
- times[2] = 1.0;
- };
- datablock ParticleEmitterData( PlayerSplashEmitter )
- {
- ejectionPeriodMS = 1;
- periodVarianceMS = 0;
- ejectionVelocity = 3;
- velocityVariance = 1.0;
- ejectionOffset = 0.0;
- thetaMin = 60;
- thetaMax = 80;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- orientParticles = true;
- lifetimeMS = 100;
- particles = "PlayerSplashParticle";
- };
- datablock SplashData(PlayerSplash)
- {
- numSegments = 15;
- ejectionFreq = 15;
- ejectionAngle = 40;
- ringLifetime = 0.5;
- lifetimeMS = 300;
- velocity = 4.0;
- startRadius = 0.0;
- acceleration = -3.0;
- texWrap = 5.0;
- texture = "art/particles/millsplash01";
- emitter[0] = PlayerSplashEmitter;
- emitter[1] = PlayerSplashMistEmitter;
- colors[0] = "0.7 0.8 1.0 0.0";
- colors[1] = "0.7 0.8 1.0 0.3";
- colors[2] = "0.7 0.8 1.0 0.7";
- colors[3] = "0.7 0.8 1.0 0.0";
- times[0] = 0.0;
- times[1] = 0.4;
- times[2] = 0.8;
- times[3] = 1.0;
- };
- //----------------------------------------------------------------------------
- // Foot puffs
- //----------------------------------------------------------------------------
- datablock ParticleData(LightPuff)
- {
- dragCoefficient = 2.0;
- gravityCoefficient = -0.01;
- inheritedVelFactor = 0.6;
- constantAcceleration = 0.0;
- lifetimeMS = 800;
- lifetimeVarianceMS = 100;
- useInvAlpha = true;
- spinRandomMin = -35.0;
- spinRandomMax = 35.0;
- colors[0] = "1.0 1.0 1.0 1.0";
- colors[1] = "1.0 1.0 1.0 0.0";
- sizes[0] = 0.1;
- sizes[1] = 0.8;
- times[0] = 0.3;
- times[1] = 1.0;
- times[2] = 1.0;
- textureName = "art/particles/dustParticle.png";
- };
- datablock ParticleEmitterData(LightPuffEmitter)
- {
- ejectionPeriodMS = 35;
- periodVarianceMS = 10;
- ejectionVelocity = 0.2;
- velocityVariance = 0.1;
- ejectionOffset = 0.0;
- thetaMin = 20;
- thetaMax = 60;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- useEmitterColors = true;
- particles = "LightPuff";
- };
- //----------------------------------------------------------------------------
- // Liftoff dust
- //----------------------------------------------------------------------------
- datablock ParticleData(LiftoffDust)
- {
- dragCoefficient = 1.0;
- gravityCoefficient = -0.01;
- inheritedVelFactor = 0.0;
- constantAcceleration = 0.0;
- lifetimeMS = 1000;
- lifetimeVarianceMS = 100;
- useInvAlpha = true;
- spinRandomMin = -90.0;
- spinRandomMax = 500.0;
- colors[0] = "1.0 1.0 1.0 1.0";
- sizes[0] = 1.0;
- times[0] = 1.0;
- textureName = "art/particles/dustParticle";
- };
- datablock ParticleEmitterData(LiftoffDustEmitter)
- {
- ejectionPeriodMS = 5;
- periodVarianceMS = 0;
- ejectionVelocity = 2.0;
- velocityVariance = 0.0;
- ejectionOffset = 0.0;
- thetaMin = 90;
- thetaMax = 90;
- phiReferenceVel = 0;
- phiVariance = 360;
- overrideAdvance = false;
- useEmitterColors = true;
- particles = "LiftoffDust";
- };
- //----------------------------------------------------------------------------
- datablock DecalData(PlayerFootprint)
- {
- size = 0.4;
- material = CommonPlayerFootprint;
- };
- datablock DebrisData( PlayerDebris )
- {
- explodeOnMaxBounce = false;
- elasticity = 0.15;
- friction = 0.5;
- lifetime = 4.0;
- lifetimeVariance = 0.0;
- minSpinSpeed = 40;
- maxSpinSpeed = 600;
- numBounces = 5;
- bounceVariance = 0;
- staticOnMaxBounce = true;
- gravModifier = 1.0;
- useRadiusMass = true;
- baseRadius = 1;
- velocity = 20.0;
- velocityVariance = 12.0;
- };
- // ----------------------------------------------------------------------------
- // This is our default player datablock that all others will derive from.
- // ----------------------------------------------------------------------------
- datablock PlayerData(DefaultPlayerData)
- {
- renderFirstPerson = false;
- firstPersonShadows = true;
- computeCRC = false;
- // Third person shape
- shapeFile = "art/shapes/actors/Soldier/soldier_rigged.DAE";
- cameraMaxDist = 3;
- allowImageStateAnimation = true;
- // First person arms
- imageAnimPrefixFP = "soldier";
- shapeNameFP[0] = "art/shapes/actors/Soldier/FP/FP_SoldierArms.DAE";
- cmdCategory = "Clients";
- cameraDefaultFov = 55.0;
- cameraMinFov = 5.0;
- cameraMaxFov = 65.0;
- debrisShapeName = "art/shapes/actors/common/debris_player.dts";
- debris = playerDebris;
-
- throwForce = 30;
- minLookAngle = "-1.4";
- maxLookAngle = "0.9";
- maxFreelookAngle = 3.0;
- mass = 120;
- drag = 1.3;
- maxdrag = 0.4;
- density = 1.1;
- maxDamage = 100;
- maxEnergy = 60;
- repairRate = 0.33;
- rechargeRate = 0.256;
- runForce = 4320;
- runEnergyDrain = 0;
- minRunEnergy = 0;
- maxForwardSpeed = 8;
- maxBackwardSpeed = 6;
- maxSideSpeed = 6;
- sprintForce = 4320;
- sprintEnergyDrain = 0;
- minSprintEnergy = 0;
- maxSprintForwardSpeed = 14;
- maxSprintBackwardSpeed = 8;
- maxSprintSideSpeed = 6;
- sprintStrafeScale = 0.25;
- sprintYawScale = 0.05;
- sprintPitchScale = 0.05;
- sprintCanJump = true;
- crouchForce = 405;
- maxCrouchForwardSpeed = 4.0;
- maxCrouchBackwardSpeed = 2.0;
- maxCrouchSideSpeed = 2.0;
- swimForce = 4320;
- maxUnderwaterForwardSpeed = 8.4;
- maxUnderwaterBackwardSpeed = 7.8;
- maxUnderwaterSideSpeed = 4.0;
- jumpForce = "747";
- jumpEnergyDrain = 0;
- minJumpEnergy = 0;
- jumpDelay = "15";
- airControl = 0.3;
- fallingSpeedThreshold = -6.0;
- landSequenceTime = 0.33;
- transitionToLand = false;
- recoverDelay = 0;
- recoverRunForceScale = 0;
- minImpactSpeed = 10;
- minLateralImpactSpeed = 20;
- speedDamageScale = 0.4;
- boundingBox = "0.65 0.75 1.85";
- crouchBoundingBox = "0.65 0.75 1.3";
- swimBoundingBox = "1 2 2";
- pickupRadius = 1;
- // Damage location details
- boxHeadPercentage = 0.83;
- boxTorsoPercentage = 0.49;
- boxHeadLeftPercentage = 0.30;
- boxHeadRightPercentage = 0.60;
- boxHeadBackPercentage = 0.30;
- boxHeadFrontPercentage = 0.60;
- // Foot Prints
- decalOffset = 0.25;
- footPuffEmitter = "LightPuffEmitter";
- footPuffNumParts = 10;
- footPuffRadius = "0.25";
- dustEmitter = "LightPuffEmitter";
- splash = PlayerSplash;
- splashVelocity = 4.0;
- splashAngle = 67.0;
- splashFreqMod = 300.0;
- splashVelEpsilon = 0.60;
- bubbleEmitTime = 0.4;
- splashEmitter[0] = PlayerWakeEmitter;
- splashEmitter[1] = PlayerFoamEmitter;
- splashEmitter[2] = PlayerBubbleEmitter;
- mediumSplashSoundVelocity = 10.0;
- hardSplashSoundVelocity = 20.0;
- exitSplashSoundVelocity = 5.0;
- // Controls over slope of runnable/jumpable surfaces
- runSurfaceAngle = 38;
- jumpSurfaceAngle = 80;
- maxStepHeight = 0.35; //two meters
- 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
- // Footstep Sounds
- FootSoftSound = FootLightSoftSound;
- FootHardSound = FootLightHardSound;
- FootMetalSound = FootLightMetalSound;
- FootSnowSound = FootLightSnowSound;
- FootShallowSound = FootLightShallowSplashSound;
- FootWadingSound = FootLightWadingSound;
- FootUnderwaterSound = FootLightUnderwaterSound;
- //FootBubblesSound = FootLightBubblesSound;
- //movingBubblesSound = ArmorMoveBubblesSound;
- //waterBreathSound = WaterBreathMaleSound;
- //impactSoftSound = ImpactLightSoftSound;
- //impactHardSound = ImpactLightHardSound;
- //impactMetalSound = ImpactLightMetalSound;
- //impactSnowSound = ImpactLightSnowSound;
- //impactWaterEasy = ImpactLightWaterEasySound;
- //impactWaterMedium = ImpactLightWaterMediumSound;
- //impactWaterHard = ImpactLightWaterHardSound;
- groundImpactMinSpeed = "45";
- groundImpactShakeFreq = "4.0 4.0 4.0";
- groundImpactShakeAmp = "1.0 1.0 1.0";
- groundImpactShakeDuration = 0.8;
- groundImpactShakeFalloff = 10.0;
- //exitingWater = ExitingWaterLightSound;
- cameraMinDist = "0";
- DecalData = "PlayerFootprint";
- // Allowable Inventory Items
- mainWeapon = Ryder;
- maxInv[Lurker] = 1;
- maxInv[LurkerClip] = 20;
- maxInv[LurkerGrenadeLauncher] = 1;
- maxInv[LurkerGrenadeAmmo] = 20;
- maxInv[Ryder] = 1;
- maxInv[RyderClip] = 10;
- maxInv[ProxMine] = 5;
- maxInv[DeployableTurret] = 5;
- // available skins (see materials.cs in model folder)
- availableSkins = "base DarkBlue DarkGreen LightGreen Orange Red Teal Violet Yellow";
- };
|