diff --git a/Templates/Full/game/art/datablocks/vehicles/cheetahCar.cs b/Templates/Full/game/art/datablocks/vehicles/cheetahCar.cs index 5a3cd4b3d..bf7f250d6 100644 --- a/Templates/Full/game/art/datablocks/vehicles/cheetahCar.cs +++ b/Templates/Full/game/art/datablocks/vehicles/cheetahCar.cs @@ -57,7 +57,8 @@ datablock SFXProfile(DirtKickup) datablock SFXProfile(CheetahTurretFireSound) { - filename = "art/sound/cheetah/turret_firing.wav"; + //filename = "art/sound/cheetah/turret_firing.wav"; + filename = "art/sound/turret/wpn_turret_fire.wav"; description = BulletFireDesc; preload = true; }; @@ -101,7 +102,7 @@ datablock ParticleEmitterData(CheetahTireEmitter) datablock ProjectileData(TurretProjectile) { - projectileShapeName = "art/shapes/weapons/SwarmGun/rocket.dts"; + projectileShapeName = "art/shapes/weapons/shared/rocket.dts"; directDamage = 10; radiusDamage = 15; damageRadius = 3; diff --git a/Templates/Full/game/art/datablocks/weapons/Lurker.cs b/Templates/Full/game/art/datablocks/weapons/Lurker.cs index 6789c3759..35cc0ce0d 100644 --- a/Templates/Full/game/art/datablocks/weapons/Lurker.cs +++ b/Templates/Full/game/art/datablocks/weapons/Lurker.cs @@ -186,7 +186,7 @@ datablock ExplosionData(BulletDirtExplosion) //----------------------------------------------------------------------------- datablock DebrisData(BulletShell) { - shapeFile = "art/shapes/weapons/RifleShell/RifleShell.DAE"; + shapeFile = "art/shapes/weapons/shared/RifleShell.DAE"; lifetime = 6.0; minSpinSpeed = 300.0; maxSpinSpeed = 400.0; diff --git a/Templates/Full/game/art/datablocks/weapons/grenade.cs b/Templates/Full/game/art/datablocks/weapons/grenade.cs deleted file mode 100644 index 435b36099..000000000 --- a/Templates/Full/game/art/datablocks/weapons/grenade.cs +++ /dev/null @@ -1,363 +0,0 @@ -//----------------------------------------------------------------------------- -// 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. -//----------------------------------------------------------------------------- - -$GrenadeUpVectorOffset = "0 0 1"; - - - -//---------------------------------------------------------------------------- -// Sounds -//---------------------------------------------------------------------------- - -datablock SFXProfile(GrenadeExplosionSound) -{ - filename = "art/sound/CT_fx/weapons/GRENADELAND.wav"; - description = AudioDefault3d; - preload = true; -}; - -//---------------------------------------------------------------------------- -// Debris -//---------------------------------------------------------------------------- - -datablock ParticleData(GrenadeDebrisFireParticle) -{ - textureName = "art/particles/impact"; - dragCoeffiecient = 0; - gravityCoefficient = -1.00366; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 300; - lifetimeVarianceMS = 100; - useInvAlpha = false; - spinSpeed = 1; - spinRandomMin = -280.0; - spinRandomMax = 280.0; - colors[0] = "1 0.590551 0.188976 0.0944882"; - colors[1] = "0.677165 0.590551 0.511811 0.496063"; - colors[2] = "0.645669 0.645669 0.645669 0"; - sizes[0] = 0.2; - sizes[1] = 0.5; - sizes[2] = 0.2; - times[0] = 0.0; - times[1] = 0.494118; - times[2] = 1.0; - animTexName = "art/particles/impact"; - colors[3] = "1 1 1 0.407"; - sizes[3] = "0.5"; -}; - -datablock ParticleEmitterData(GrenadeDebrisFireEmitter) -{ - ejectionPeriodMS = 10; - periodVarianceMS = 0; - ejectionVelocity = 0; - velocityVariance = 0; - thetaMin = 0.0; - thetaMax = 25; - phiReferenceVel = 0; - phiVariance = 360; - ejectionoffset = 0.3; - particles = "GrenadeDebrisFireParticle"; - orientParticles = "1"; - blendStyle = "NORMAL"; -}; - -datablock DebrisData(GrenadeDebris) -{ - shapeFile = "art/shapes/weapons/Grenade/grenadeDebris.dae"; - emitters[0] = GrenadeDebrisFireEmitter; - elasticity = 0.4; - friction = 0.25; - numBounces = 3; - bounceVariance = 1; - explodeOnMaxBounce = false; - staticOnMaxBounce = false; - snapOnMaxBounce = false; - minSpinSpeed = 200; - maxSpinSpeed = 600; - render2D = false; - lifetime = 4; - lifetimeVariance = 1.5; - velocity = 15; - velocityVariance = 5; - fade = true; - useRadiusMass = true; - baseRadius = 0.3; - gravModifier = 1.0; - terminalVelocity = 20; - ignoreWater = false; -}; - - - -// ---------------------------------------------------------------------------- -// Explosion Particle effects -// ---------------------------------------------------------------------------- - -datablock ParticleData(GrenadeExpFire) -{ - textureName = "art/particles/fireball.png"; - dragCoeffiecient = 0; - windCoeffiecient = 0.5; - gravityCoefficient = -1; - inheritedVelFactor = 0; - constantAcceleration = 0; - lifetimeMS = 1200;//3000; - lifetimeVarianceMS = 100;//200; - useInvAlpha = false; - spinRandomMin = 0; - spinRandomMax = 1; - spinSpeed = 1; - colors[0] = "0.886275 0.854902 0.733333 0.795276"; - colors[1] = "0.356863 0.34902 0.321569 0.266"; - colors[2] = "0.0235294 0.0235294 0.0235294 0.207"; - sizes[0] = 1;//2; - sizes[1] = 5; - sizes[2] = 7;//0.5; - times[0] = 0.0; - times[1] = 0.25; - times[2] = 0.5; - animTexName = "art/particles/fireball.png"; - times[3] = "1"; - dragCoefficient = "1.99902"; - sizes[3] = "10"; - colors[3] = "0 0 0 0"; -}; - -datablock ParticleEmitterData(GrenadeExpFireEmitter) -{ - ejectionPeriodMS = 10; - periodVarianceMS = 5;//0; - ejectionVelocity = 1;//1.0; - velocityVariance = 0;//0.5; - thetaMin = 0.0; - thetaMax = 45; - lifetimeMS = 250; - particles = "GrenadeExpFire"; - blendStyle = "ADDITIVE"; -}; - -datablock ParticleData(GrenadeExpDust) -{ - textureName = "art/particles/smoke.png"; - dragCoefficient = 0.498534; - gravityCoefficient = 0; - inheritedVelFactor = 1; - constantAcceleration = 0.0; - lifetimeMS = 2000; - lifetimeVarianceMS = 250; - useInvAlpha = 0; - spinSpeed = 1; - spinRandomMin = -90.0; - spinRandomMax = 90.0; - colors[0] = "0.992126 0.992126 0.992126 0.96063"; - colors[1] = "0.11811 0.11811 0.11811 0.929134"; - colors[2] = "0.00392157 0.00392157 0.00392157 0.362205"; - sizes[0] = 1.59922; - sizes[1] = 4.99603; - sizes[2] = 9.99817; - times[0] = 0.0; - times[1] = 0.494118; - times[2] = 1.0; - animTexName = "art/particles/smoke.png"; - colors[3] = "0.996078 0.996078 0.996078 0"; - sizes[3] = "15"; -}; - -datablock ParticleEmitterData(GrenadeExpDustEmitter) -{ - ejectionPeriodMS = 5; - periodVarianceMS = 0; - ejectionVelocity = 8; - velocityVariance = 0.0; - ejectionOffset = 0.0; - thetaMin = 85; - thetaMax = 85; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = 0; - lifetimeMS = 2000; - particles = "GrenadeExpDust"; - blendStyle = "NORMAL"; -}; - -datablock ParticleData(GrenadeExpSpark) -{ - textureName = "art/particles/Sparkparticle"; - dragCoefficient = 1; - gravityCoefficient = 0.0; - inheritedVelFactor = 0.2; - constantAcceleration = 0.0; - lifetimeMS = 500; - lifetimeVarianceMS = 250; - colors[0] = "0.6 0.4 0.3 1"; - colors[1] = "0.6 0.4 0.3 1"; - colors[2] = "1.0 0.4 0.3 0"; - sizes[0] = 0.5; - sizes[1] = 0.75; - sizes[2] = 1; - times[0] = 0; - times[1] = 0.5; - times[2] = 1; -}; - -datablock ParticleEmitterData(GrenadeExpSparkEmitter) -{ - ejectionPeriodMS = 2; - periodVarianceMS = 0; - ejectionVelocity = 20; - velocityVariance = 10; - ejectionOffset = 0.0; - thetaMin = 0; - thetaMax = 120; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = false; - orientParticles = true; - lifetimeMS = 100; - particles = "GrenadeExpSpark"; -}; - -datablock ParticleData(GrenadeExpSparks) -{ - textureName = "art/particles/droplet"; - dragCoefficient = 1; - gravityCoefficient = 0.0; - inheritedVelFactor = 0.2; - constantAcceleration = 0.0; - lifetimeMS = 500; - lifetimeVarianceMS = 350; - - colors[0] = "0.6 0.4 0.3 1.0"; - colors[1] = "0.6 0.4 0.3 0.6"; - colors[2] = "1.0 0.4 0.3 0.0"; - - sizes[0] = 0.5; - sizes[1] = 0.5; - sizes[2] = 0.75; - - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(GrenadeExpSparksEmitter) -{ - ejectionPeriodMS = 2; - periodVarianceMS = 0; - ejectionVelocity = 12; - velocityVariance = 6.75; - ejectionOffset = 0.0; - thetaMin = 0; - thetaMax = 60; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = false; - orientParticles = true; - lifetimeMS = 100; - particles = "GrenadeExpSparks"; -}; - -datablock ParticleData(GrenadeExpSmoke) -{ - textureName = "art/particles/smoke"; - dragCoeffiecient = 0; - gravityCoefficient = -0.40293; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 800; - lifetimeVarianceMS = 299; - useInvAlpha = true; - spinSpeed = 1; - spinRandomMin = -80.0; - spinRandomMax = 0; - colors[0] = "0.8 0.8 0.8 0.4"; - colors[1] = "0.5 0.5 0.5 0.5"; - colors[2] = "0.75 0.75 0.75 0"; - sizes[0] = 4.49857; - sizes[1] = 7.49863; - sizes[2] = 11.2495; - times[0] = 0; - times[1] = 0.498039; - times[2] = 1; - animTexName = "art/particles/smoke"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(GrenadeExpSmokeEmitter) -{ - ejectionPeriodMS = 15; - periodVarianceMS = 5; - ejectionVelocity = 2.4; - velocityVariance = 1.2; - thetaMin = 0.0; - thetaMax = 180.0; - ejectionOffset = 1; - particles = "GrenadeExpSmoke"; - blendStyle = "NORMAL"; -}; - - -// ---------------------------------------------------------------------------- -// Dry/Air Explosion Objects -// ---------------------------------------------------------------------------- - -datablock ExplosionData(GrenadeExplosion) -{ - soundProfile = GrenadeExplosionSound; - lifeTimeMS = 400; // Quick flash, short burn, and moderate dispersal - - // Volume particles - particleEmitter = GrenadeExpFireEmitter; - particleDensity = 75; - particleRadius = 2.25; - - // Point emission - emitter[0] = GrenadeExpDustEmitter; - emitter[1] = GrenadeExpSparksEmitter; - emitter[2] = GrenadeExpSmokeEmitter; - - // Camera Shaking - shakeCamera = true; - camShakeFreq = "10.0 11.0 9.0"; - camShakeAmp = "15.0 15.0 15.0"; - camShakeDuration = 1.5; - camShakeRadius = 20; - - // Exploding debris - debris = GrenadeDebris; - debrisThetaMin = 10; - debrisThetaMax = 60; - debrisNum = 4; - debrisNumVariance = 2; - debrisVelocity = 25; - debrisVelocityVariance = 5; - - lightStartRadius = 4.0; - lightEndRadius = 0.0; - lightStartColor = "1.0 1.0 1.0"; - lightEndColor = "1.0 1.0 1.0"; - lightStartBrightness = 4.0; - lightEndBrightness = 0.0; - lightNormalOffset = 2.0; -}; diff --git a/Templates/Full/game/art/datablocks/weapons/grenadeLauncher.cs b/Templates/Full/game/art/datablocks/weapons/grenadefx.cs similarity index 75% rename from Templates/Full/game/art/datablocks/weapons/grenadeLauncher.cs rename to Templates/Full/game/art/datablocks/weapons/grenadefx.cs index 2b01f5a04..00ac1af72 100644 --- a/Templates/Full/game/art/datablocks/weapons/grenadeLauncher.cs +++ b/Templates/Full/game/art/datablocks/weapons/grenadefx.cs @@ -1,58 +1,29 @@ //----------------------------------------------------------------------------- -// 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. +// Torque +// Copyright GarageGames, LLC 2011 //----------------------------------------------------------------------------- -// GrenadeLauncher weapon. -// This script file contains all of the necessary datablocks needed for the -// GrenadeLauncher. These datablocks include sound profiles, light descriptions, -// particle effects, explosions, projectiles, items (weapon and ammo), shell -// casings (if any), and finally the weapon image which contains the state -// machine that determines how the weapon operates. - -// The various "fire" methods/modes are handled in weapons.cs through a "weapon" -// namespace function. This reduces duplicated code, although a unique fire -// method could still be implemented for this weapon. - // ---------------------------------------------------------------------------- -// Sound profiles +// Placeholder projectile and explosion with required sounds, debris, and +// particle datablocks. These datablocks existed in now removed scripts, but +// were used within some that remain: see Lurker.cs, Ryder.cs, ProxMine.cs +// +// These effects should be made more generic or new fx created for unique usage. +// +// I've removed all effects that are not required for the current weapons. On +// reflection I really went overboard when originally making these effects! // ---------------------------------------------------------------------------- -datablock SFXProfile(GrenadeLauncherReloadSound) -{ - filename = "art/sound/weapons/Crossbow_reload"; - description = AudioClose3d; - preload = true; -}; +$GrenadeUpVectorOffset = "0 0 1"; -datablock SFXProfile(GrenadeLauncherFireSound) -{ - filename = "art/sound/weapons/relbow_mono_01"; - description = AudioClose3d; - preload = true; -}; +// --------------------------------------------------------------------------- +// Sounds +// --------------------------------------------------------------------------- -datablock SFXProfile(GrenadeLauncherFireEmptySound) +datablock SFXProfile(GrenadeExplosionSound) { - filename = "art/sound/weapons/Crossbow_firing_empty"; - description = AudioClose3d; + filename = "art/sound/CT_fx/weapons/GRENADELAND.wav"; + description = AudioDefault3d; preload = true; }; @@ -77,25 +48,15 @@ datablock LightDescription(GrenadeLauncherLightDesc) //flareType = SimpleLightFlare0; }; -datablock LightDescription(GrenadeLauncherWaterLightDesc) -{ - radius = 2.0; - color = "1 1 1"; - brightness = 2.0; - animationType = PulseLightAnim; - animationPeriod = 0.25; - //flareType = SimpleLightFlare0; -}; - -//---------------------------------------------------------------------------- +// --------------------------------------------------------------------------- // Debris -//---------------------------------------------------------------------------- +// --------------------------------------------------------------------------- datablock ParticleData(GrenadeDebrisFireParticle) { textureName = "art/particles/impact"; - dragCoeffiecient = 0.0; - gravityCoefficient = -1; + dragCoeffiecient = 0; + gravityCoefficient = -1.00366; inheritedVelFactor = 0.0; constantAcceleration = 0.0; lifetimeMS = 300; @@ -104,34 +65,39 @@ datablock ParticleData(GrenadeDebrisFireParticle) spinSpeed = 1; spinRandomMin = -280.0; spinRandomMax = 280.0; - colors[0] = "1.0 0.6 0.2 0.1"; - colors[1] = "1.0 0.5 0 0.5"; - colors[2] = "0.1 0.1 0.1 0.0"; - sizes[0] = 1.0; - sizes[1] = 2.0; - sizes[2] = 1.0; + colors[0] = "1 0.590551 0.188976 0.0944882"; + colors[1] = "0.677165 0.590551 0.511811 0.496063"; + colors[2] = "0.645669 0.645669 0.645669 0"; + sizes[0] = 0.2; + sizes[1] = 0.5; + sizes[2] = 0.2; times[0] = 0.0; - times[1] = 0.5; + times[1] = 0.494118; times[2] = 1.0; + animTexName = "art/particles/impact"; + colors[3] = "1 1 1 0.407"; + sizes[3] = "0.5"; }; datablock ParticleEmitterData(GrenadeDebrisFireEmitter) { - ejectionPeriodMS = 8; - periodVarianceMS = 4; - ejectionVelocity = 5.0; - velocityVariance = 3.0; + ejectionPeriodMS = 10; + periodVarianceMS = 0; + ejectionVelocity = 0; + velocityVariance = 0; thetaMin = 0.0; - thetaMax = 180.0; + thetaMax = 25; phiReferenceVel = 0; phiVariance = 360; ejectionoffset = 0.3; particles = "GrenadeDebrisFireParticle"; + orientParticles = "1"; + blendStyle = "NORMAL"; }; datablock DebrisData(GrenadeDebris) { - shapeFile = "art/shapes/weapons/GrenadeLauncher/debris.dts"; + shapeFile = "art/shapes/weapons/Grenade/grenadeDebris.dae"; emitters[0] = GrenadeDebrisFireEmitter; elasticity = 0.4; friction = 0.25; @@ -297,30 +263,32 @@ datablock ParticleEmitterData(GrenadeSplashRingEmitter) datablock SplashData(GrenadeSplash) { -// 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/splash"; - + // SplashData doesn't have a render function in the source, + // so everything but the emitter array is useless here. emitter[0] = GrenadeSplashEmitter; emitter[1] = GrenadeSplashMistEmitter; emitter[2] = GrenadeSplashRingEmitter; + + //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/images/particles//splash"; -// 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; + //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; }; // ---------------------------------------------------------------------------- @@ -329,86 +297,94 @@ datablock SplashData(GrenadeSplash) datablock ParticleData(GrenadeExpFire) { - textureName = "art/particles/fireball"; + textureName = "art/particles/fireball.png"; dragCoeffiecient = 0; windCoeffiecient = 0.5; - gravityCoefficient = -0.300366; - inheritedVelFactor = 0.299413; - constantAcceleration = 0.2; - lifetimeMS = 2000;//3000; - lifetimeVarianceMS = 299;//200; + gravityCoefficient = -1; + inheritedVelFactor = 0; + constantAcceleration = 0; + lifetimeMS = 1200;//3000; + lifetimeVarianceMS = 100;//200; useInvAlpha = false; - spinRandomMin = -80.0; - spinRandomMax = 0; + spinRandomMin = 0; + spinRandomMax = 1; spinSpeed = 1; - colors[0] = "0.795276 0.393701 0 0.795276"; - colors[1] = "0.19685 0.0944882 0 0.393701"; - colors[2] = "0 0 0 0"; - sizes[0] = 0.75;//2; - sizes[1] = 1.5; - sizes[2] = 3;//0.5; + colors[0] = "0.886275 0.854902 0.733333 0.795276"; + colors[1] = "0.356863 0.34902 0.321569 0.266"; + colors[2] = "0.0235294 0.0235294 0.0235294 0.207"; + sizes[0] = 1;//2; + sizes[1] = 5; + sizes[2] = 7;//0.5; times[0] = 0.0; - times[1] = 0.498039; - times[2] = 1.0; - animTexName = "art/particles/Fireball"; + times[1] = 0.25; + times[2] = 0.5; + animTexName = "art/particles/fireball.png"; times[3] = "1"; + dragCoefficient = "1.99902"; + sizes[3] = "10"; + colors[3] = "0 0 0 0"; }; datablock ParticleEmitterData(GrenadeExpFireEmitter) { ejectionPeriodMS = 10; periodVarianceMS = 5;//0; - ejectionVelocity = 4;//1.0; - velocityVariance = 1;//0.5; + ejectionVelocity = 1;//1.0; + velocityVariance = 0;//0.5; thetaMin = 0.0; - thetaMax = 180.0; + thetaMax = 45; lifetimeMS = 250; particles = "GrenadeExpFire"; + blendStyle = "ADDITIVE"; }; datablock ParticleData(GrenadeExpDust) { - textureName = "art/particles/smoke"; - dragCoefficient = 1.0; - gravityCoefficient = -0.01; - inheritedVelFactor = 0.0; + textureName = "art/particles/smoke.png"; + dragCoefficient = 0.498534; + gravityCoefficient = 0; + inheritedVelFactor = 1; constantAcceleration = 0.0; - lifetimeMS = 2500; - lifetimeVarianceMS = 500; - useInvAlpha = true; + lifetimeMS = 2000; + lifetimeVarianceMS = 250; + useInvAlpha = 0; spinSpeed = 1; spinRandomMin = -90.0; spinRandomMax = 90.0; - colors[0] = "0.6 0.6 0.6 0.3"; - colors[1] = "0.6 0.6 0.6 0.3"; - colors[2] = "0.6 0.6 0.6 0.0"; - sizes[0] = 1.6; - sizes[1] = 2.0; - sizes[2] = 2.4; + colors[0] = "0.992126 0.992126 0.992126 0.96063"; + colors[1] = "0.11811 0.11811 0.11811 0.929134"; + colors[2] = "0.00392157 0.00392157 0.00392157 0.362205"; + sizes[0] = 1.59922; + sizes[1] = 4.99603; + sizes[2] = 9.99817; times[0] = 0.0; - times[1] = 0.7; + times[1] = 0.494118; times[2] = 1.0; + animTexName = "art/particles/smoke.png"; + colors[3] = "0.996078 0.996078 0.996078 0"; + sizes[3] = "15"; }; datablock ParticleEmitterData(GrenadeExpDustEmitter) { - ejectionPeriodMS = 1; + ejectionPeriodMS = 5; periodVarianceMS = 0; - ejectionVelocity = 15; + ejectionVelocity = 8; velocityVariance = 0.0; ejectionOffset = 0.0; thetaMin = 85; thetaMax = 85; phiReferenceVel = 0; phiVariance = 360; - overrideAdvances = false; - lifetimeMS = 200; + overrideAdvances = 0; + lifetimeMS = 2000; particles = "GrenadeExpDust"; + blendStyle = "NORMAL"; }; datablock ParticleData(GrenadeExpSpark) { - textureName = "art/particles/ricochet"; + textureName = "art/particles/Sparkparticle"; dragCoefficient = 1; gravityCoefficient = 0.0; inheritedVelFactor = 0.2; @@ -519,6 +495,52 @@ datablock ParticleEmitterData(GrenadeExpSmokeEmitter) thetaMax = 180.0; ejectionOffset = 1; particles = "GrenadeExpSmoke"; + blendStyle = "NORMAL"; +}; + + +// ---------------------------------------------------------------------------- +// Dry/Air Explosion Objects +// ---------------------------------------------------------------------------- + +datablock ExplosionData(GrenadeExplosion) +{ + soundProfile = GrenadeExplosionSound; + lifeTimeMS = 400; // Quick flash, short burn, and moderate dispersal + + // Volume particles + particleEmitter = GrenadeExpFireEmitter; + particleDensity = 75; + particleRadius = 2.25; + + // Point emission + emitter[0] = GrenadeExpDustEmitter; + emitter[1] = GrenadeExpSparksEmitter; + emitter[2] = GrenadeExpSmokeEmitter; + + // Camera Shaking + shakeCamera = true; + camShakeFreq = "10.0 11.0 9.0"; + camShakeAmp = "15.0 15.0 15.0"; + camShakeDuration = 1.5; + camShakeRadius = 20; + + // Exploding debris + debris = GrenadeDebris; + debrisThetaMin = 10; + debrisThetaMax = 60; + debrisNum = 4; + debrisNumVariance = 2; + debrisVelocity = 25; + debrisVelocityVariance = 5; + + lightStartRadius = 4.0; + lightEndRadius = 0.0; + lightStartColor = "1.0 1.0 1.0"; + lightEndColor = "1.0 1.0 1.0"; + lightStartBrightness = 4.0; + lightEndBrightness = 0.0; + lightNormalOffset = 2.0; }; // ---------------------------------------------------------------------------- @@ -862,7 +884,7 @@ datablock ParticleEmitterData(GrenadeProjSmokeTrailEmitter) datablock ProjectileData(GrenadeLauncherProjectile) { - projectileShapeName = "art/shapes/weapons/GrenadeLauncher/rocket.dts"; + projectileShapeName = "art/shapes/weapons/shared/rocket.dts"; directDamage = 30; radiusDamage = 30; damageRadius = 5; @@ -871,7 +893,7 @@ datablock ProjectileData(GrenadeLauncherProjectile) explosion = GrenadeLauncherExplosion; waterExplosion = GrenadeLauncherWaterExplosion; - decal = ScorchRXDecal; + decal = ExpBlastDecal; splash = GrenadeSplash; particleEmitter = GrenadeProjSmokeTrailEmitter; @@ -893,61 +915,3 @@ datablock ProjectileData(GrenadeLauncherProjectile) damageType = "GrenadeDamage"; }; - -// ---------------------------------------------------------------------------- -// Underwater Projectile -// ---------------------------------------------------------------------------- - -datablock ProjectileData(GrenadeWetProjectile) -{ - projectileShapeName = "art/shapes/weapons/GrenadeLauncher/rocket.dts"; - directDamage = 20; - radiusDamage = 10; - damageRadius = 10; - areaImpulse = 2000; - - explosion = GrenadeLauncherWaterExplosion; - - particleEmitter = GrenadeProjSmokeTrailEmitter; - particleWaterEmitter = GrenadeTrailWaterEmitter; - - muzzleVelocity = 10; - velInheritFactor = 0.3; - - armingDelay = 2000; - lifetime = 10000; - fadeDelay = 4500; - - bounceElasticity = 0.2; - bounceFriction = 0.4; - isBallistic = true; - gravityMod = 0.80; - - lightDesc = GrenadeLauncherWaterLightDesc; - - damageType = "GrenadeDamage"; -}; - -// ---------------------------------------------------------------------------- -// Ammo Item -// ---------------------------------------------------------------------------- - -datablock ItemData(GrenadeLauncherAmmo) -{ - // Mission editor category - category = "Ammo"; - - // Add the Ammo namespace as a parent. The ammo namespace provides - // common ammo related functions and hooks into the inventory system. - className = "Ammo"; - - // Basic Item properties - shapeFile = "art/shapes/weapons/GrenadeLauncher/debris.dts"; - mass = 2; - elasticity = 0.2; - friction = 0.6; - - // Dynamic properties defined by the scripts - pickUpName = "Grenades"; - maxInventory = 20; -}; diff --git a/Templates/Full/game/art/datablocks/weapons/rocketLauncher.cs b/Templates/Full/game/art/datablocks/weapons/rocketLauncher.cs deleted file mode 100644 index af84bd3c4..000000000 --- a/Templates/Full/game/art/datablocks/weapons/rocketLauncher.cs +++ /dev/null @@ -1,1251 +0,0 @@ -//----------------------------------------------------------------------------- -// 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. -//----------------------------------------------------------------------------- - -// RocketLauncher weapon. -// This script file contains all of the necessary datablocks needed for the -// RocketLauncher. These datablocks include sound profiles, light descriptions, -// particle effects, explosions, projectiles, items (weapon and ammo), shell -// casings (if any), and finally the weapon image which contains the state -// machine that determines how the weapon operates. - -// The main "fire" method/mode is handled in "../scripts/server/weapons.cs" -// through a "WeaponImage" namespace function. This reduces duplicated code, -// although a unique fire method could still be implemented for this weapon. - -// The "alt-fire" method/mode is handled in "../scripts/server/rocketlaucner.cs". -// Alt-fire for the Rocketlauncher allows you to "charge up" the number of -// projectiles, up to 3, that get fired. Hold to increase the number of shots -// and release to fire. After three shots are loaded and in the pipe, the -// weapon will automatically discharge on it's own. - -// ---------------------------------------------------------------------------- -// Sound profiles -// ---------------------------------------------------------------------------- - -datablock SFXProfile(RocketLauncherReloadSound) -{ - filename = "art/sound/weapons/Crossbow_reload"; - description = AudioClose3d; - preload = true; -}; - -datablock SFXProfile(RocketLauncherFireSound) -{ - filename = "art/sound/weapons/explosion_mono_01"; - description = AudioClose3d; - preload = true; -}; - -datablock SFXProfile(RocketLauncherIncLoadSound) -{ - filename = "art/sound/weapons/relbow_mono_01"; - description = AudioClose3d; - preload = true; -}; - -datablock SFXProfile(RocketLauncherFireEmptySound) -{ - filename = "art/sound/weapons/Crossbow_firing_empty"; - description = AudioClose3d; - preload = true; -}; - -datablock SFXProfile(RocketLauncherExplosionSound) -{ - filename = "art/sound/weapons/Crossbow_explosion"; - description = AudioDefault3d; - preload = true; -}; - -// ---------------------------------------------------------------------------- -// Lights for the projectile(s) -// ---------------------------------------------------------------------------- - -datablock LightDescription(RocketLauncherLightDesc) -{ - range = 4.0; - color = "1 1 0"; - brightness = 5.0; - animationType = PulseLightAnim; - animationPeriod = 0.25; - //flareType = SimpleLightFlare0; -}; - -datablock LightDescription(RocketLauncherWaterLightDesc) -{ - radius = 2.0; - color = "1 1 1"; - brightness = 5.0; - animationType = PulseLightAnim; - animationPeriod = 0.25; - //flareType = SimpleLightFlare0; -}; - -//---------------------------------------------------------------------------- -// Debris -//---------------------------------------------------------------------------- - -datablock ParticleData(RocketDebrisTrailParticle) -{ - textureName = "art/particles/impact"; - dragCoeffiecient = 0; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 1200;//1000; - lifetimeVarianceMS = 299;//500; - useInvAlpha = true;//false; - spinSpeed = 1; - spinRandomMin = -300.0; - spinRandomMax = 0; - colors[0] = "1 0.897638 0.795276 0.4"; - colors[1] = "0.795276 0.795276 0.795276 0.6"; - colors[2] = "0 0 0 0"; - sizes[0] = 0.5;//1.0; - sizes[1] = 2; - sizes[2] = 1;//1.0; - times[0] = 0.0; - times[1] = 0.498039; - times[2] = 1.0; - animTexName = "art/particles/impact"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketDebrisTrailEmitter) -{ - ejectionPeriodMS = 6;//8; - periodVarianceMS = 2;//4; - ejectionVelocity = 1.0; - velocityVariance = 0.5; - thetaMin = 0.0; - thetaMax = 180.0; - phiReferenceVel = 0; - phiVariance = 360; - ejectionoffset = 0.0;//0.3; - particles = "RocketDebrisTrailParticle"; -}; - -datablock DebrisData(RocketDebris) -{ - shapeFile = "art/shapes/weapons/SwarmGun/rocket.dts"; - emitters[0] = RocketDebrisTrailEmitter; - elasticity = 0.5; - friction = 0.5; - numBounces = 1;//2; - bounceVariance = 1; - explodeOnMaxBounce = true; - staticOnMaxBounce = false; - snapOnMaxBounce = false; - minSpinSpeed = 400; - maxSpinSpeed = 800; - render2D = false; - lifetime = 0.25;//0.5;//1;//2; - lifetimeVariance = 0.0;//0.25;//0.5; - velocity = 35;//30;//15; - velocityVariance = 10;//5; - fade = true; - useRadiusMass = true; - baseRadius = 0.3; - gravModifier = 1.0; - terminalVelocity = 45; - ignoreWater = false; -}; - -// ---------------------------------------------------------------------------- -// Splash effects -// ---------------------------------------------------------------------------- - -datablock ParticleData(RocketSplashMist) -{ - dragCoefficient = 1.0; - windCoefficient = 2.0; - gravityCoefficient = 0.3; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 600; - lifetimeVarianceMS = 100; - useInvAlpha = false; - spinRandomMin = -90.0; - spinRandomMax = 500.0; - spinSpeed = 1; - textureName = "art/particles/smoke"; - 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.2;//0.5; - sizes[1] = 0.4;//0.5; - sizes[2] = 0.8; - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RocketSplashMistEmitter) -{ - ejectionPeriodMS = 5; - periodVarianceMS = 0; - ejectionVelocity = 3.0; - velocityVariance = 2.0; - ejectionOffset = 0.15; - thetaMin = 85; - thetaMax = 85; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvance = false; - lifetimeMS = 250; - particles = "RocketSplashMist"; -}; - -datablock ParticleData(RocketSplashParticle) -{ - dragCoefficient = 1; - windCoefficient = 0.9; - gravityCoefficient = 0.3; - inheritedVelFactor = 0.2; - constantAcceleration = -1.4; - lifetimeMS = 600; - lifetimeVarianceMS = 200; - textureName = "art/particles/droplet"; - 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.25; - sizes[2] = 0.25; - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RocketSplashEmitter) -{ - ejectionPeriodMS = 4; - periodVarianceMS = 0; - ejectionVelocity = 7.3; - velocityVariance = 2.0; - ejectionOffset = 0.0; - thetaMin = 30; - thetaMax = 80; - phiReferenceVel = 00; - phiVariance = 360; - overrideAdvance = false; - orientParticles = true; - orientOnVelocity = true; - lifetimeMS = 100; - particles = "RocketSplashParticle"; -}; - -datablock ParticleData(RocketSplashRingParticle) -{ - 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; - spinSpeed = 1; - animateTexture = true; - framesPerSec = 1; - animTexTiling = "2 1"; - animTexFrames = "0 1"; - 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] = 2.0; - sizes[1] = 4.0; - sizes[2] = 8.0; - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RocketSplashRingEmitter) -{ - lifetimeMS = "100"; - 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 = "RocketSplashRingParticle"; -}; - -datablock SplashData(RocketSplash) -{ -// 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/splash"; - - emitter[0] = RocketSplashEmitter; - emitter[1] = RocketSplashMistEmitter; - emitter[2] = RocketSplashRingEmitter; - -// 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; -}; - -// ---------------------------------------------------------------------------- -// Explosion Particle effects -// ---------------------------------------------------------------------------- - -datablock ParticleData(RocketExpFire) -{ - gravityCoefficient = "-0.50061"; - lifetimeMS = "400"; - lifetimeVarianceMS = "299"; - spinSpeed = "1"; - spinRandomMin = "-200"; - spinRandomMax = "0"; - textureName = "art/particles/smoke"; - animTexName = "art/particles/smoke"; - colors[0] = "1 0.897638 0.795276 1"; - colors[1] = "0.795276 0.393701 0 0.6"; - colors[2] = "0 0 0 0"; - sizes[0] = "1.99902"; - sizes[1] = "7.99915"; - sizes[2] = "3.99805"; - times[1] = "0.392157"; - times[2] = "1"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketExpFireEmitter) -{ - ejectionPeriodMS = "10"; - periodVarianceMS = "5"; - ejectionVelocity = "3"; - velocityVariance = "2"; - particles = "RocketExpFire"; - blendStyle = "NORMAL"; -}; - -datablock ParticleData(RocketExpFireball) -{ - textureName = "art/particles/fireball.png"; - lifetimeMS = "300"; - lifetimeVarianceMS = "299"; - spinSpeed = "1"; - spinRandomMin = "-400"; - spinRandomMax = "0"; - animTexName = "art/particles/fireball.png"; - colors[0] = "1 0.897638 0.795276 0.2"; - colors[1] = "1 0.496063 0 0.6"; - colors[2] = "0.0944882 0.0944882 0.0944882 0"; - sizes[0] = "0.997986"; - sizes[1] = "1.99902"; - sizes[2] = "2.99701"; - times[1] = "0.498039"; - times[2] = "1"; - times[3] = "1"; - gravityCoefficient = "-1"; -}; - -datablock ParticleEmitterData(RocketExpFireballEmitter) -{ - particles = "RocketExpFireball"; - blendStyle = "ADDITIVE"; - ejectionPeriodMS = "10"; - periodVarianceMS = "5"; - ejectionVelocity = "4"; - velocityVariance = "2"; - ejectionOffset = "2"; - thetaMax = "120"; -}; - -datablock ParticleData(RocketExpSmoke) -{ - lifetimeMS = 1200;//"1250"; - lifetimeVarianceMS = 299;//200;//"250"; - textureName = "art/particles/smoke"; - animTexName = "art/particles/smoke"; - useInvAlpha = "1"; - gravityCoefficient = "-0.100122"; - spinSpeed = "1"; - spinRandomMin = "-100"; - spinRandomMax = "0"; - colors[0] = "0.897638 0.795276 0.692913 0.4";//"0.192157 0.192157 0.192157 0.0944882"; - colors[1] = "0.897638 0.897638 0.897638 0.8";//"0.454902 0.454902 0.454902 0.897638"; - colors[2] = "0.4 0.4 0.4 0";//"1 1 1 0"; - sizes[0] = "1.99597"; - sizes[1] = "3.99805"; - sizes[2] = "7.99915"; - times[1] = "0.494118"; - times[2] = "1"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketExpSmokeEmitter) -{ - ejectionPeriodMS = "15"; - periodVarianceMS = "5"; - //ejectionOffset = "1"; - thetaMax = "180"; - particles = "RocketExpSmoke"; - blendStyle = "NORMAL"; -}; - -datablock ParticleData(RocketExpSparks) -{ - textureName = "art/particles/droplet.png"; - lifetimeMS = "100"; - lifetimeVarianceMS = "50"; - animTexName = "art/particles/droplet.png"; - inheritedVelFactor = "0.391389"; - sizes[0] = "1.99902"; - sizes[1] = "2.49954"; - sizes[2] = "0.997986"; - colors[0] = "1.0 0.9 0.8 0.2"; - colors[1] = "1.0 0.9 0.8 0.8"; - colors[2] = "0.8 0.4 0.0 0.0"; - times[0] = "0"; - times[1] = "0.34902"; - times[2] = "1"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketExpSparksEmitter) -{ - particles = "RocketExpSparks"; - blendStyle = "NORMAL"; - ejectionPeriodMS = "10"; - periodVarianceMS = "5"; - ejectionVelocity = "60"; - velocityVariance = "10"; - thetaMax = "120"; - phiReferenceVel = 0; - phiVariance = "360"; - ejectionOffset = "0"; - orientParticles = true; - orientOnVelocity = true; -}; - -datablock ParticleData(RocketExpSubFireParticles) -{ - textureName = "art/particles/fireball.png"; - gravityCoefficient = "-0.202686"; - lifetimeMS = "400"; - lifetimeVarianceMS = "299"; - spinSpeed = "1"; - spinRandomMin = "-200"; - spinRandomMax = "0"; - animTexName = "art/particles/fireball.png"; - colors[0] = "1 0.897638 0.795276 0.2"; - colors[1] = "1 0.496063 0 1"; - colors[2] = "0.0944882 0.0944882 0.0944882 0"; - sizes[0] = "0.997986"; - sizes[1] = "1.99902"; - sizes[2] = "2.99701"; - times[1] = "0.498039"; - times[2] = "1"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketExpSubFireEmitter) -{ - particles = "RocketExpSubFireParticles"; - blendStyle = "ADDITIVE"; - ejectionPeriodMS = "10"; - periodVarianceMS = "5"; - ejectionVelocity = "4"; - velocityVariance = "2"; - thetaMax = "120"; -}; - -datablock ParticleData(RocketExpSubSmoke) -{ - textureName = "art/particles/smoke"; - gravityCoefficient = "-0.40293"; - lifetimeMS = "800"; - lifetimeVarianceMS = "299"; - spinSpeed = "1"; - spinRandomMin = "-200"; - spinRandomMax = "0"; - animTexName = "art/particles/smoke"; - colors[0] = "0.4 0.35 0.3 0.393701"; - colors[1] = "0.45 0.45 0.45 0.795276"; - colors[2] = "0.4 0.4 0.4 0"; - sizes[0] = "1.99902"; - sizes[1] = "3.99805"; - sizes[2] = "7.99915"; - times[1] = "0.4"; - times[2] = "1"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketExpSubSmokeEmitter) -{ - particles = "RocketExpSubSmoke"; - ejectionPeriodMS = "30"; - periodVarianceMS = "10"; - ejectionVelocity = "2"; - velocityVariance = "1"; - ejectionOffset = 1;//"2"; - blendStyle = "NORMAL"; -}; - -// ---------------------------------------------------------------------------- -// Water Explosion -// ---------------------------------------------------------------------------- - -datablock ParticleData(RLWaterExpDust) -{ - textureName = "art/particles/steam"; - dragCoefficient = 1.0; - gravityCoefficient = -0.01; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 2500; - lifetimeVarianceMS = 250; - useInvAlpha = false; - spinSpeed = 1; - spinRandomMin = -90.0; - spinRandomMax = 500.0; - colors[0] = "0.6 0.6 1.0 0.5"; - colors[1] = "0.6 0.6 1.0 0.3"; - sizes[0] = 0.25; - sizes[1] = 1.5; - times[0] = 0.0; - times[1] = 1.0; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RLWaterExpDustEmitter) -{ - ejectionPeriodMS = 1; - periodVarianceMS = 0; - ejectionVelocity = 10; - velocityVariance = 0.0; - ejectionOffset = 0.0; - thetaMin = 85; - thetaMax = 85; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = false; - lifetimeMS = 75; - particles = "RLWaterExpDust"; -}; - -datablock ParticleData(RLWaterExpSparks) -{ - textureName = "art/particles/spark_wet"; - dragCoefficient = 1; - gravityCoefficient = 0.0; - inheritedVelFactor = 0.2; - constantAcceleration = 0.0; - lifetimeMS = 500; - lifetimeVarianceMS = 250; - colors[0] = "0.6 0.6 1.0 1.0"; - colors[1] = "0.6 0.6 1.0 1.0"; - colors[2] = "0.6 0.6 1.0 0.0"; - sizes[0] = 0.5; - sizes[1] = 0.5; - sizes[2] = 0.75; - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RLWaterExpSparkEmitter) -{ - ejectionPeriodMS = 2; - periodVarianceMS = 0; - ejectionVelocity = 12; - velocityVariance = 6.75; - ejectionOffset = 0.0; - thetaMin = 0; - thetaMax = 60; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = false; - orientParticles = true; - lifetimeMS = 100; - particles = "RLWaterExpSparks"; -}; - -datablock ParticleData(RLWaterExpSmoke) -{ - textureName = "art/particles/smoke"; - dragCoeffiecient = 0.4; - gravityCoefficient = -0.25; - inheritedVelFactor = 0.025; - constantAcceleration = -1.1; - lifetimeMS = 1250; - lifetimeVarianceMS = 0; - useInvAlpha = false; - spinSpeed = 1; - spinRandomMin = -200.0; - spinRandomMax = 200.0; - colors[0] = "0.1 0.1 1.0 1.0"; - colors[1] = "0.4 0.4 1.0 1.0"; - colors[2] = "0.4 0.4 1.0 0.0"; - sizes[0] = 2.0; - sizes[1] = 6.0; - sizes[2] = 2.0; - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RLWaterExpSmokeEmitter) -{ - ejectionPeriodMS = 15; - periodVarianceMS = 0; - ejectionVelocity = 6.25; - velocityVariance = 0.25; - thetaMin = 0.0; - thetaMax = 90.0; - lifetimeMS = 250; - particles = "RLWaterExpSmoke"; -}; - -datablock ParticleData(RLWaterExpBubbles) -{ - textureName = "art/particles/millsplash01"; - dragCoefficient = 0.0; - gravityCoefficient = -0.05; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 1500; - lifetimeVarianceMS = 250; - useInvAlpha = false; - spinRandomMin = -100.0; - spinRandomMax = 100.0; - spinSpeed = 1; - colors[0] = "0.7 0.8 1.0 0.0"; - colors[1] = "0.7 0.8 1.0 0.4"; - colors[2] = "0.7 0.8 1.0 0.0"; - sizes[0] = 0.2; - sizes[1] = 0.4; - sizes[2] = 0.8; - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RLWaterExpBubbleEmitter) -{ - ejectionPeriodMS = 5; - periodVarianceMS = 0; - ejectionVelocity = 1.0; - ejectionOffset = 3.0; - velocityVariance = 0.5; - thetaMin = 0; - thetaMax = 80; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = false; - particles = "RLWaterExpBubbles"; -}; - -datablock ExplosionData(RocketLauncherWaterExplosion) -{ - //soundProfile = RLWaterExplosionSound; - - emitter[0] = RLWaterExpDustEmitter; - emitter[1] = RLWaterExpSparkEmitter; - emitter[2] = RLWaterExpSmokeEmitter; - emitter[3] = RLWaterExpBubbleEmitter; - - shakeCamera = true; - camShakeFreq = "10.0 11.0 9.0"; - camShakeAmp = "20.0 20.0 20.0"; - camShakeDuration = 1.5; - camShakeRadius = 20.0; - - lightStartRadius = 20.0; - lightEndRadius = 0.0; - lightStartColor = "0.9 0.9 0.8"; - lightEndColor = "0.6 0.6 1.0"; - lightStartBrightness = 2.0; - lightEndBrightness = 0.0; -}; - -// ---------------------------------------------------------------------------- -// Dry/Air Explosion Objects -// ---------------------------------------------------------------------------- - -datablock ExplosionData(RocketSubExplosion) -{ - lifeTimeMS = 100; - offset = 0.4; - emitter[0] = RocketExpSubFireEmitter; - emitter[1] = RocketExpSubSmokeEmitter; -}; - - -datablock ExplosionData(RocketLauncherExplosion) -{ - soundProfile = RocketLauncherExplosionSound; - lifeTimeMS = 200; // I want a quick bang and dissipation, not a slow burn-out - - // Volume particles - particleEmitter = RocketExpSmokeEmitter; - particleDensity = 10;//20; - particleRadius = 1;//2; - - // Point emission - emitter[0] = RocketExpFireEmitter; - emitter[1] = RocketExpSparksEmitter; - emitter[2] = RocketExpSparksEmitter; - emitter[3] = RocketExpFireballEmitter; - - // Sub explosion objects - subExplosion[0] = RocketSubExplosion; - - // Camera Shaking - shakeCamera = true; - camShakeFreq = "10.0 11.0 9.0"; - camShakeAmp = "15.0 15.0 15.0"; - camShakeDuration = 1.5; - camShakeRadius = 20; - - // Exploding debris - debris = RocketDebris; - debrisThetaMin = 0;//10; - debrisThetaMax = 90;//80; - debrisNum = 5; - debrisNumVariance = 2; - debrisVelocity = 1;//2; - debrisVelocityVariance = 0.2;//0.5; - - lightStartRadius = 6.0; - lightEndRadius = 0.0; - lightStartColor = "1.0 0.7 0.2"; - lightEndColor = "0.9 0.7 0.0"; - lightStartBrightness = 2.5; - lightEndBrightness = 0.0; - lightNormalOffset = 3.0; -}; - -// ---------------------------------------------------------------------------- -// Underwater Rocket projectile trail -// ---------------------------------------------------------------------------- - -datablock ParticleData(RocketTrailWaterParticle) -{ - textureName = "art/particles/bubble"; - dragCoefficient = 0.0; - gravityCoefficient = 0.1; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 1500; - lifetimeVarianceMS = 600; - useInvAlpha = false; - spinRandomMin = -100.0; - spinRandomMax = 100.0; - spinSpeed = 1; - - colors[0] = "0.7 0.8 1.0 1.0"; - colors[1] = "0.7 0.8 1.0 0.4"; - colors[2] = "0.7 0.8 1.0 0.0"; - - sizes[0] = 0.05; - sizes[1] = 0.05; - sizes[2] = 0.05; - - times[0] = 0.0; - times[1] = 0.5; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RocketTrailWaterEmitter) -{ - ejectionPeriodMS = 5; - periodVarianceMS = 0; - ejectionVelocity = 1.0; - ejectionOffset = 0.1; - velocityVariance = 0.5; - thetaMin = 0.0; - thetaMax = 80.0; - phiReferenceVel = 0; - phiVariance = 360; - overrideAdvances = false; - particles = RocketTrailWaterParticle; -}; - -// ---------------------------------------------------------------------------- -// Normal-fire Projectile Object -// ---------------------------------------------------------------------------- - -datablock ParticleData(RocketProjSmokeTrail) -{ - textureName = "art/particles/smoke"; - dragCoeffiecient = 0; - gravityCoefficient = -0.202686; - inheritedVelFactor = 0.0; - constantAcceleration = 0.0; - lifetimeMS = 750; - lifetimeVarianceMS = 749; - useInvAlpha = true; - spinRandomMin = -60; - spinRandomMax = 0; - spinSpeed = 1; - - colors[0] = "0.3 0.3 0.3 0.598425"; - colors[1] = "0.9 0.9 0.9 0.897638"; - colors[2] = "0.9 0.9 0.9 0"; - - sizes[0] = 0.247207; - sizes[1] = 0.497467; - sizes[2] = 0.747726; - - times[0] = 0.0; - times[1] = 0.4; - times[2] = 1.0; - animTexName = "art/particles/smoke"; - times[3] = "1"; -}; - -datablock ParticleEmitterData(RocketProjSmokeTrailEmitter) -{ - ejectionPeriodMS = 1; - periodVarianceMS = 0; - ejectionVelocity = 0.75; - velocityVariance = 0; - thetaMin = 0.0; - thetaMax = 0.0; - phiReferenceVel = 90; - phiVariance = 0; - particles = "RocketProjSmokeTrail"; -}; - -datablock ProjectileData(RocketLauncherProjectile) -{ - projectileShapeName = "art/shapes/weapons/SwarmGun/rocket.dts"; - directDamage = 30; - radiusDamage = 30; - damageRadius = 5; - areaImpulse = 2500; - - explosion = RocketLauncherExplosion; - waterExplosion = RocketLauncherWaterExplosion; - - decal = ScorchRXDecal; - splash = RocketSplash; - - particleEmitter = RocketProjSmokeTrailEmitter; - particleWaterEmitter = RocketTrailWaterEmitter; - - muzzleVelocity = 100; - velInheritFactor = 0.3; - - armingDelay = 0; - lifetime = 5000; //(500m / 100m/s = 5000ms) - fadeDelay = 4500; - - bounceElasticity = 0; - bounceFriction = 0; - isBallistic = false; - gravityMod = 0.80; - - lightDesc = RocketLauncherLightDesc; - - damageType = "RocketDamage"; -}; - -// ---------------------------------------------------------------------------- -// Underwater Projectile -// ---------------------------------------------------------------------------- - -datablock ProjectileData(RocketWetProjectile) -{ - projectileShapeName = "art/shapes/weapons/SwarmGun/rocket.dts"; - directDamage = 20; - radiusDamage = 10; - damageRadius = 10; - areaImpulse = 2000; - - explosion = RocketLauncherWaterExplosion; - - particleEmitter = RocketProjSmokeTrailEmitter; - particleWaterEmitter = RocketTrailWaterEmitter; - - muzzleVelocity = 20; - velInheritFactor = 0.3; - - armingDelay = 0; - lifetime = 5000; //(500m / 100m/s = 5000ms) - fadeDelay = 4500; - - bounceElasticity = 0.2; - bounceFriction = 0.4; - isBallistic = true; - gravityMod = 0.80; - - lightDesc = RocketLauncherWaterLightDesc; - - damageType = "RocketDamage"; -}; - -// ---------------------------------------------------------------------------- -// Shell that's ejected during reload. -// ---------------------------------------------------------------------------- - -datablock DebrisData(RocketlauncherShellCasing) -{ - shapeFile = "art/shapes/weapons/SwarmGun/rocket.dts"; - lifetime = 6.0; - minSpinSpeed = 300.0; - maxSpinSpeed = 400.0; - elasticity = 0.65; - friction = 0.05; - numBounces = 5; - staticOnMaxBounce = true; - snapOnMaxBounce = false; - fade = true; -}; - -// ---------------------------------------------------------------------------- -// Particle Emitter played when firing. -// ---------------------------------------------------------------------------- - -datablock ParticleData(RocketLauncherfiring1Particle) -{ - textureName = "art/particles/Fireball"; - dragCoefficient = 100.0; - gravityCoefficient = -0.25;//-0.5;//0.0; - inheritedVelFactor = 0.25;//1.0; - constantAcceleration = 0.1; - lifetimeMS = 400; - lifetimeVarianceMS = 100; - useInvAlpha = false; - spinSpeed = 1; - spinRandomMin = -200; - spinRandomMax = 200; - colors[0] = "1 0.9 0.8 0.1"; - colors[1] = "1 0.5 0 0.3"; - colors[2] = "0.1 0.1 0.1 0"; - sizes[0] = 0.2;//1; - sizes[1] = 0.25;//0.15;//0.75; - sizes[2] = 0.3;//0.1;//0.5; - times[0] = 0.0; - times[1] = 0.5;//0.294118; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RocketLauncherfiring1Emitter) -{ - ejectionPeriodMS = 15;//75; - periodVarianceMS = 5; - ejectionVelocity = 1; - ejectionOffset = 0.0; - velocityVariance = 0; - thetaMin = 0.0; - thetaMax = 180;//10.0; - particles = "RocketLauncherfiring1Particle"; - blendStyle = "ADDITIVE"; -}; - -datablock ParticleData(RocketLauncherfiring2Particle) -{ - textureName = "art/particles/impact"; - dragCoefficient = 100.0; - gravityCoefficient = -0.5;//0.0; - inheritedVelFactor = 0.25;//1.0; - constantAcceleration = 0.1; - lifetimeMS = 1600;//400; - lifetimeVarianceMS = 400;//100; - useInvAlpha = false; - spinSpeed = 1; - spinRandomMin = -200; - spinRandomMax = 200; - colors[0] = "0.4 0.4 0.4 0.2"; - colors[1] = "0.4 0.4 0.4 0.1"; - colors[2] = "0.0 0.0 0.0 0.0"; - sizes[0] = 0.2;//1; - sizes[1] = 0.15;//0.75; - sizes[2] = 0.1;//0.5; - times[0] = 0.0; - times[1] = 0.5;//0.294118; - times[2] = 1.0; -}; - -datablock ParticleEmitterData(RocketLauncherfiring2Emitter) -{ - ejectionPeriodMS = 15;//75; - periodVarianceMS = 5; - ejectionVelocity = 1; - ejectionOffset = 0.0; - velocityVariance = 0; - thetaMin = 0.0; - thetaMax = 180;//10.0; - particles = "RocketLauncherfiring2Particle"; - blendStyle = "NORMAL"; -}; - -// ---------------------------------------------------------------------------- -// Ammo Item -// ---------------------------------------------------------------------------- - -datablock ItemData(RocketLauncherAmmo) -{ - // Mission editor category - category = "Ammo"; - - // Add the Ammo namespace as a parent. The ammo namespace provides - // common ammo related functions and hooks into the inventory system. - className = "Ammo"; - - // Basic Item properties - shapeFile = "art/shapes/weapons/SwarmGun/rocket.dts"; - mass = 2; - elasticity = 0.2; - friction = 0.6; - - // Dynamic properties defined by the scripts - pickUpName = "Rockets"; - maxInventory = 20; -}; - -// ---------------------------------------------------------------------------- -// Weapon Item. This is the item that exists in the world, -// i.e. when it's been dropped, thrown or is acting as re-spawnable item. -// When the weapon is mounted onto a shape, the Image is used. -// ---------------------------------------------------------------------------- - -datablock ItemData(RocketLauncher) -{ - // Mission editor category - category = "Weapon"; - - // Hook into Item Weapon class hierarchy. The weapon namespace - // provides common weapon handling functions in addition to hooks - // into the inventory system. - className = "Weapon"; - - // Basic Item properties - shapefile = "art/shapes/weapons/SwarmGun/swarmgun.dts"; - mass = 5; - elasticity = 0.2; - friction = 0.6; - emap = true; - - // Dynamic properties defined by the scripts - pickUpName = "SwarmGun"; - description = "RocketLauncher"; - image = RocketLauncherImage; - - // weaponHUD - previewImage = 'swarmer.png'; - reticle = 'reticle_rocketlauncher'; - zoomReticle = 'bino'; -}; - -// ---------------------------------------------------------------------------- -// Image which does all the work. Images do not normally exist in -// the world, they can only be mounted on ShapeBase objects. -// ---------------------------------------------------------------------------- - -datablock ShapeBaseImageData(RocketLauncherImage) -{ - // Basic Item properties - shapefile = "art/shapes/weapons/SwarmGun/swarmgun.dts"; - emap = true; - - // Specify mount point & offset for 3rd person, and eye offset - // for first person rendering. - mountPoint = 0; - offset = "0.0 0.15 0.025"; - eyeOffset = "0.25 0.6 -0.4"; // 0.25=right/left 0.5=forward/backward, -0.5=up/down - - // When firing from a point offset from the eye, muzzle correction - // will adjust the muzzle vector to point to the eye LOS point. - // Since this weapon doesn't actually fire from the muzzle point, - // we need to turn this off. - correctMuzzleVector = false; - - // Add the WeaponImage namespace as a parent, WeaponImage namespace - // provides some hooks into the inventory system. - className = "WeaponImage"; - - // Projectile && Ammo. - item = RocketLauncher; - ammo = RocketLauncherAmmo; - projectile = RocketLauncherProjectile; - wetProjectile = RocketWetProjectile; - projectileType = Projectile; - - // shell casings - casing = RocketlauncherShellCasing; - shellExitDir = "1.0 0.3 1.0"; - shellExitOffset = "0.15 -0.56 -0.1"; - shellExitVariance = 15.0; - shellVelocity = 3.0; - - // Let there be light - NoLight, ConstantLight, PulsingLight, WeaponFireLight. - lightType = "WeaponFireLight"; - lightColor = "1.0 1.0 0.9"; - lightDuration = 200; - lightRadius = 10; - - // Images have a state system which controls how the animations - // are run, which sounds are played, script callbacks, etc. This - // state system is downloaded to the client so that clients can - // predict state changes and animate accordingly. The following - // system supports basic ready->fire->reload transitions as - // well as a no-ammo->dryfire idle state. - - // Initial start up state - stateName[0] = "Preactivate"; - stateTransitionOnLoaded[0] = "Activate"; - stateTransitionOnNoAmmo[0] = "NoAmmo"; - - // Activating the gun. - // Called when the weapon is first mounted and there is ammo. - stateName[1] = "Activate"; - stateTransitionOnTimeout[1] = "Ready"; - stateTimeoutValue[1] = 0.6; - stateSequence[1] = "Activate"; - - // Ready to fire, just waiting for the trigger - stateName[2] = "Ready"; - stateTransitionOnNoAmmo[2] = "NoAmmo"; - stateTransitionOnTriggerDown[2] = "CheckWet"; - stateTransitionOnAltTriggerDown[2] = "CheckWetAlt"; - stateSequence[2] = "Ready"; - - // Fire the weapon. Calls the fire script which does the actual work. - stateName[3] = "Fire"; - stateTransitionOnTimeout[3] = "PostFire"; - stateTimeoutValue[3] = 0.9; - stateFire[3] = true; - stateRecoil[3] = LightRecoil; - stateAllowImageChange[3] = false; - stateSequence[3] = "Fire"; - stateScript[3] = "onFire"; - stateSound[3] = RocketLauncherFireSound; - stateEmitter[3] = RocketLauncherfiring1Emitter; - stateEmitterTime[3] = 0.6; - - // Check ammo - stateName[4] = "PostFire"; - stateTransitionOnAmmo[4] = "Reload"; - stateTransitionOnNoAmmo[4] = "NoAmmo"; - - // Play the reload animation, and transition into - stateName[5] = "Reload"; - stateTransitionOnTimeout[5] = "Ready"; - stateTimeoutValue[5] = 0.9; - stateAllowImageChange[5] = false; - stateSequence[5] = "Reload"; - stateEjectShell[5] = false; // set to true to enable shell casing eject - stateSound[5] = RocketLauncherReloadSound; - stateEmitter[5] = RocketLauncherfiring2Emitter; - stateEmitterTime[5] = 2.4; - - // No ammo in the weapon, just idle until something shows up. - // Play the dry fire sound if the trigger iS pulled. - stateName[6] = "NoAmmo"; - stateTransitionOnAmmo[6] = "Reload"; - stateSequence[6] = "NoAmmo"; - stateTransitionOnTriggerDown[6] = "DryFire"; - - // No ammo dry fire - stateName[7] = "DryFire"; - stateTimeoutValue[7] = 1.0; - stateTransitionOnTimeout[7] = "NoAmmo"; - stateSound[7] = RocketLauncherFireEmptySound; - - // Check if wet - stateName[8] = "CheckWet"; - stateTransitionOnWet[8] = "WetFire"; - stateTransitionOnNotWet[8] = "Fire"; - - // Check if alt wet - stateName[9] = "CheckWetAlt"; - stateTransitionOnWet[9] = "WetFire"; - stateTransitionOnNotWet[9] = "ChargeUp1"; - - // Wet fire - stateName[10] = "WetFire"; - stateTransitionOnTimeout[10] = "PostFire"; - stateTimeoutValue[10] = 0.9; - stateFire[10] = true; - stateRecoil[10] = LightRecoil; - stateAllowImageChange[10] = false; - stateSequence[10] = "Fire"; - stateScript[10] = "onWetFire"; - stateSound[10] = RocketLauncherFireSound; - - // Begin "charge up", 1 in the pipe - stateName[11] = "ChargeUp1"; - stateScript[11] = "readyLoad"; - stateSound[11] = RocketLauncherIncLoadSound; - stateTransitionOnAltTriggerUp[11] = "AltFire"; - stateTransitionOnTimeout[11] = "ChargeUp2"; - stateTimeoutValue[11] = 0.8; - stateWaitForTimeout[11] = false; - - // Charge up, 2 in the pipe - stateName[12] = "ChargeUp2"; - stateScript[12] = "incLoad"; - stateSound[12] = RocketLauncherIncLoadSound; - stateTransitionOnAltTriggerUp[12] = "AltFire"; - stateTransitionOnTimeout[12] = "ChargeUp3"; - stateTimeoutValue[12] = 0.8; - stateWaitForTimeout[12] = false; - - // Charge up, 3 in the pipe - stateName[13] = "ChargeUp3"; - stateScript[13] = "incLoad"; - stateSound[13] = RocketLauncherIncLoadSound; - stateTransitionOnAltTriggerUp[13] = "AltFire"; - stateTransitionOnTimeout[13] = "Altfire"; // lets force them to fire - stateTimeOutValue[13] = 1.2; - stateWaitForTimeout[13] = false; - - // Alt-fire - stateName[14] = "AltFire"; - stateTransitionOnTimeout[14] = "PostFire"; - stateTimeoutValue[14] = 1.2; - stateFire[14] = true; - stateRecoil[14] = LightRecoil; - stateAllowImageChange[14] = false; - stateSequence[14] = "Fire"; - stateScript[14] = "onAltFire"; - stateSound[14] = RocketLauncherFireSound; - stateEmitter[14] = RocketLauncherfiring1Emitter; - stateEmitterTime[14] = 1.2; -}; diff --git a/Templates/Full/game/art/datablocks/weapons/rocketfx.cs b/Templates/Full/game/art/datablocks/weapons/rocketfx.cs new file mode 100644 index 000000000..4baad2ea8 --- /dev/null +++ b/Templates/Full/game/art/datablocks/weapons/rocketfx.cs @@ -0,0 +1,504 @@ +// ---------------------------------------------------------------------------- +// Placeholder explosion with required sounds, debris, and particle datablocks. +// These datablocks existed in now removed scripts, but were used within some +// that remain: see cheetahCar.cs +// +// These should be made more generic or new fx created for the cheetah turret's +// projectile explosion effects. +// +// I've removed all effects that are not required for the current weapons. On +// reflection I really went overboard when originally designing these effects! +// ---------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------- +// Sound +// ---------------------------------------------------------------------------- + +datablock SFXProfile(RocketLauncherExplosionSound) +{ + filename = "art/sound/weapons/Crossbow_explosion"; + description = AudioDefault3d; + preload = true; +}; + +//---------------------------------------------------------------------------- +// Debris +//---------------------------------------------------------------------------- + +datablock ParticleData(RocketDebrisTrailParticle) +{ + textureName = "art/particles/impact"; + dragCoeffiecient = 0; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 1200;//1000; + lifetimeVarianceMS = 299;//500; + useInvAlpha = true;//false; + spinSpeed = 1; + spinRandomMin = -300.0; + spinRandomMax = 0; + colors[0] = "1 0.897638 0.795276 0.4"; + colors[1] = "0.795276 0.795276 0.795276 0.6"; + colors[2] = "0 0 0 0"; + sizes[0] = 0.5;//1.0; + sizes[1] = 2; + sizes[2] = 1;//1.0; + times[0] = 0.0; + times[1] = 0.498039; + times[2] = 1.0; + animTexName = "art/particles/impact"; + times[3] = "1"; +}; + +datablock ParticleEmitterData(RocketDebrisTrailEmitter) +{ + ejectionPeriodMS = 6;//8; + periodVarianceMS = 2;//4; + ejectionVelocity = 1.0; + velocityVariance = 0.5; + thetaMin = 0.0; + thetaMax = 180.0; + phiReferenceVel = 0; + phiVariance = 360; + ejectionoffset = 0.0;//0.3; + particles = "RocketDebrisTrailParticle"; +}; + +datablock DebrisData(RocketDebris) +{ + shapeFile = "art/shapes/weapons/shared/rocket.dts"; + emitters[0] = RocketDebrisTrailEmitter; + elasticity = 0.5; + friction = 0.5; + numBounces = 1;//2; + bounceVariance = 1; + explodeOnMaxBounce = true; + staticOnMaxBounce = false; + snapOnMaxBounce = false; + minSpinSpeed = 400; + maxSpinSpeed = 800; + render2D = false; + lifetime = 0.25;//0.5;//1;//2; + lifetimeVariance = 0.0;//0.25;//0.5; + velocity = 35;//30;//15; + velocityVariance = 10;//5; + fade = true; + useRadiusMass = true; + baseRadius = 0.3; + gravModifier = 1.0; + terminalVelocity = 45; + ignoreWater = false; +}; + +// ---------------------------------------------------------------------------- +// Splash effects +// ---------------------------------------------------------------------------- + +datablock ParticleData(RocketSplashMist) +{ + dragCoefficient = 1.0; + windCoefficient = 2.0; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.0; + constantAcceleration = 0.0; + lifetimeMS = 600; + lifetimeVarianceMS = 100; + useInvAlpha = false; + spinRandomMin = -90.0; + spinRandomMax = 500.0; + spinSpeed = 1; + textureName = "art/particles/smoke"; + 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.2;//0.5; + sizes[1] = 0.4;//0.5; + sizes[2] = 0.8; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(RocketSplashMistEmitter) +{ + ejectionPeriodMS = 5; + periodVarianceMS = 0; + ejectionVelocity = 3.0; + velocityVariance = 2.0; + ejectionOffset = 0.15; + thetaMin = 85; + thetaMax = 85; + phiReferenceVel = 0; + phiVariance = 360; + overrideAdvance = false; + lifetimeMS = 250; + particles = "RocketSplashMist"; +}; + +datablock ParticleData(RocketSplashParticle) +{ + dragCoefficient = 1; + windCoefficient = 0.9; + gravityCoefficient = 0.3; + inheritedVelFactor = 0.2; + constantAcceleration = -1.4; + lifetimeMS = 600; + lifetimeVarianceMS = 200; + textureName = "art/particles/droplet"; + 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.25; + sizes[2] = 0.25; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(RocketSplashEmitter) +{ + ejectionPeriodMS = 4; + periodVarianceMS = 0; + ejectionVelocity = 7.3; + velocityVariance = 2.0; + ejectionOffset = 0.0; + thetaMin = 30; + thetaMax = 80; + phiReferenceVel = 00; + phiVariance = 360; + overrideAdvance = false; + orientParticles = true; + orientOnVelocity = true; + lifetimeMS = 100; + particles = "RocketSplashParticle"; +}; + +datablock ParticleData(RocketSplashRingParticle) +{ + 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; + spinSpeed = 1; + animateTexture = true; + framesPerSec = 1; + animTexTiling = "2 1"; + animTexFrames = "0 1"; + 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] = 2.0; + sizes[1] = 4.0; + sizes[2] = 8.0; + times[0] = 0.0; + times[1] = 0.5; + times[2] = 1.0; +}; + +datablock ParticleEmitterData(RocketSplashRingEmitter) +{ + lifetimeMS = "100"; + 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 = "RocketSplashRingParticle"; +}; + +datablock SplashData(RocketSplash) +{ +// 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/images/particles/splash"; + + emitter[0] = RocketSplashEmitter; + emitter[1] = RocketSplashMistEmitter; + emitter[2] = RocketSplashRingEmitter; + +// 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; +}; + +// ---------------------------------------------------------------------------- +// Explosion Particle effects +// ---------------------------------------------------------------------------- + +datablock ParticleData(RocketExpFire) +{ + gravityCoefficient = "-0.50061"; + lifetimeMS = "400"; + lifetimeVarianceMS = "299"; + spinSpeed = "1"; + spinRandomMin = "-200"; + spinRandomMax = "0"; + textureName = "art/particles/smoke"; + animTexName = "art/particles/smoke"; + colors[0] = "1 0.897638 0.795276 1"; + colors[1] = "0.795276 0.393701 0 0.6"; + colors[2] = "0 0 0 0"; + sizes[0] = "1.99902"; + sizes[1] = "7.99915"; + sizes[2] = "3.99805"; + times[1] = "0.392157"; + times[2] = "1"; + times[3] = "1"; +}; + +datablock ParticleEmitterData(RocketExpFireEmitter) +{ + ejectionPeriodMS = "10"; + periodVarianceMS = "5"; + ejectionVelocity = "3"; + velocityVariance = "2"; + particles = "RocketExpFire"; + blendStyle = "NORMAL"; +}; + +datablock ParticleData(RocketExpFireball) +{ + textureName = "art/particles/fireball.png"; + lifetimeMS = "300"; + lifetimeVarianceMS = "299"; + spinSpeed = "1"; + spinRandomMin = "-400"; + spinRandomMax = "0"; + animTexName = "art/particles/fireball.png"; + colors[0] = "1 0.897638 0.795276 0.2"; + colors[1] = "1 0.496063 0 0.6"; + colors[2] = "0.0944882 0.0944882 0.0944882 0"; + sizes[0] = "0.997986"; + sizes[1] = "1.99902"; + sizes[2] = "2.99701"; + times[1] = "0.498039"; + times[2] = "1"; + times[3] = "1"; + gravityCoefficient = "-1"; +}; + +datablock ParticleEmitterData(RocketExpFireballEmitter) +{ + particles = "RocketExpFireball"; + blendStyle = "ADDITIVE"; + ejectionPeriodMS = "10"; + periodVarianceMS = "5"; + ejectionVelocity = "4"; + velocityVariance = "2"; + ejectionOffset = "2"; + thetaMax = "120"; +}; + +datablock ParticleData(RocketExpSmoke) +{ + lifetimeMS = 1200;//"1250"; + lifetimeVarianceMS = 299;//200;//"250"; + textureName = "art/particles/smoke"; + animTexName = "art/particles/smoke"; + useInvAlpha = "1"; + gravityCoefficient = "-0.100122"; + spinSpeed = "1"; + spinRandomMin = "-100"; + spinRandomMax = "0"; + colors[0] = "0.897638 0.795276 0.692913 0.4";//"0.192157 0.192157 0.192157 0.0944882"; + colors[1] = "0.897638 0.897638 0.897638 0.8";//"0.454902 0.454902 0.454902 0.897638"; + colors[2] = "0.4 0.4 0.4 0";//"1 1 1 0"; + sizes[0] = "1.99597"; + sizes[1] = "3.99805"; + sizes[2] = "7.99915"; + times[1] = "0.494118"; + times[2] = "1"; + times[3] = "1"; +}; + +datablock ParticleEmitterData(RocketExpSmokeEmitter) +{ + ejectionPeriodMS = "15"; + periodVarianceMS = "5"; + //ejectionOffset = "1"; + thetaMax = "180"; + particles = "RocketExpSmoke"; + blendStyle = "NORMAL"; +}; + +datablock ParticleData(RocketExpSparks) +{ + textureName = "art/particles/droplet.png"; + lifetimeMS = "100"; + lifetimeVarianceMS = "50"; + animTexName = "art/particles/droplet.png"; + inheritedVelFactor = "0.391389"; + sizes[0] = "1.99902"; + sizes[1] = "2.49954"; + sizes[2] = "0.997986"; + colors[0] = "1.0 0.9 0.8 0.2"; + colors[1] = "1.0 0.9 0.8 0.8"; + colors[2] = "0.8 0.4 0.0 0.0"; + times[0] = "0"; + times[1] = "0.34902"; + times[2] = "1"; + times[3] = "1"; +}; + +datablock ParticleEmitterData(RocketExpSparksEmitter) +{ + particles = "RocketExpSparks"; + blendStyle = "NORMAL"; + ejectionPeriodMS = "10"; + periodVarianceMS = "5"; + ejectionVelocity = "60"; + velocityVariance = "10"; + thetaMax = "120"; + phiReferenceVel = 0; + phiVariance = "360"; + ejectionOffset = "0"; + orientParticles = true; + orientOnVelocity = true; +}; + +datablock ParticleData(RocketExpSubFireParticles) +{ + textureName = "art/particles/fireball.png"; + gravityCoefficient = "-0.202686"; + lifetimeMS = "400"; + lifetimeVarianceMS = "299"; + spinSpeed = "1"; + spinRandomMin = "-200"; + spinRandomMax = "0"; + animTexName = "art/particles/fireball.png"; + colors[0] = "1 0.897638 0.795276 0.2"; + colors[1] = "1 0.496063 0 1"; + colors[2] = "0.0944882 0.0944882 0.0944882 0"; + sizes[0] = "0.997986"; + sizes[1] = "1.99902"; + sizes[2] = "2.99701"; + times[1] = "0.498039"; + times[2] = "1"; + times[3] = "1"; +}; + +datablock ParticleEmitterData(RocketExpSubFireEmitter) +{ + particles = "RocketExpSubFireParticles"; + blendStyle = "ADDITIVE"; + ejectionPeriodMS = "10"; + periodVarianceMS = "5"; + ejectionVelocity = "4"; + velocityVariance = "2"; + thetaMax = "120"; +}; + +datablock ParticleData(RocketExpSubSmoke) +{ + textureName = "art/particles/smoke"; + gravityCoefficient = "-0.40293"; + lifetimeMS = "800"; + lifetimeVarianceMS = "299"; + spinSpeed = "1"; + spinRandomMin = "-200"; + spinRandomMax = "0"; + animTexName = "art/particles/smoke"; + colors[0] = "0.4 0.35 0.3 0.393701"; + colors[1] = "0.45 0.45 0.45 0.795276"; + colors[2] = "0.4 0.4 0.4 0"; + sizes[0] = "1.99902"; + sizes[1] = "3.99805"; + sizes[2] = "7.99915"; + times[1] = "0.4"; + times[2] = "1"; + times[3] = "1"; +}; + +datablock ParticleEmitterData(RocketExpSubSmokeEmitter) +{ + particles = "RocketExpSubSmoke"; + ejectionPeriodMS = "30"; + periodVarianceMS = "10"; + ejectionVelocity = "2"; + velocityVariance = "1"; + ejectionOffset = 1;//"2"; + blendStyle = "NORMAL"; +}; + +// ---------------------------------------------------------------------------- +// Dry/Air Explosion Objects +// ---------------------------------------------------------------------------- + +datablock ExplosionData(RocketSubExplosion) +{ + lifeTimeMS = 100; + offset = 0.4; + emitter[0] = RocketExpSubFireEmitter; + emitter[1] = RocketExpSubSmokeEmitter; +}; + + +datablock ExplosionData(RocketLauncherExplosion) +{ + soundProfile = RocketLauncherExplosionSound; + lifeTimeMS = 200; // I want a quick bang and dissipation, not a slow burn-out + + // Volume particles + particleEmitter = RocketExpSmokeEmitter; + particleDensity = 10;//20; + particleRadius = 1;//2; + + // Point emission + emitter[0] = RocketExpFireEmitter; + emitter[1] = RocketExpSparksEmitter; + emitter[2] = RocketExpSparksEmitter; + emitter[3] = RocketExpFireballEmitter; + + // Sub explosion objects + subExplosion[0] = RocketSubExplosion; + + // Camera Shaking + shakeCamera = true; + camShakeFreq = "10.0 11.0 9.0"; + camShakeAmp = "15.0 15.0 15.0"; + camShakeDuration = 1.5; + camShakeRadius = 20; + + // Exploding debris + debris = RocketDebris; + debrisThetaMin = 0;//10; + debrisThetaMax = 90;//80; + debrisNum = 5; + debrisNumVariance = 2; + debrisVelocity = 1;//2; + debrisVelocityVariance = 0.2;//0.5; + + lightStartRadius = 6.0; + lightEndRadius = 0.0; + lightStartColor = "1.0 0.7 0.2"; + lightEndColor = "0.9 0.7 0.0"; + lightStartBrightness = 2.5; + lightEndBrightness = 0.0; + lightNormalOffset = 3.0; +}; diff --git a/Templates/Full/game/art/shapes/Cheetah/Cheetah_MuzzleFlash_D.dds b/Templates/Full/game/art/shapes/Cheetah/Cheetah_MuzzleFlash_D.dds new file mode 100644 index 000000000..c4d4d1dd8 Binary files /dev/null and b/Templates/Full/game/art/shapes/Cheetah/Cheetah_MuzzleFlash_D.dds differ diff --git a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/materials.cs b/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/materials.cs deleted file mode 100644 index 8948d2523..000000000 --- a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/materials.cs +++ /dev/null @@ -1,32 +0,0 @@ -//----------------------------------------------------------------------------- -// 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. -//----------------------------------------------------------------------------- - -new Material(w_swarmgun) -{ - mapTo = "w_swarmgun"; - diffuseMap[0] = "w_swarmgun"; - normalMap[0] = "w_swarmgun_bump"; - pixelSpecular[0] = true; - specular[0] = "1.0 1.0 1.0 1.0"; - specularPower[0] = 32.0; - materialTag0 = "Weapon"; -}; diff --git a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/w_swarmgun_bump.jpg b/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/w_swarmgun_bump.jpg deleted file mode 100644 index 8f06b3661..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/w_swarmgun_bump.jpg and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/RifleShell/materials.cs b/Templates/Full/game/art/shapes/weapons/RifleShell/materials.cs deleted file mode 100644 index 9a5284949..000000000 --- a/Templates/Full/game/art/shapes/weapons/RifleShell/materials.cs +++ /dev/null @@ -1,61 +0,0 @@ -//----------------------------------------------------------------------------- -// 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. -//----------------------------------------------------------------------------- - -//--- RifleShell.DAE MATERIALS BEGIN --- -singleton Material(RifleShell_RifleShell) -{ - mapTo = "RifleShell"; - - diffuseMap[0] = "art/shapes/weapons/RifleShell/RifleShell_diff"; - normalMap[0] = ""; - specularMap[0] = ""; - - diffuseColor[0] = "1 1 1 1"; - specular[0] = "0.996078 0.988235 0.921569 0.954"; - specularPower[0] = "19"; - - doubleSided = false; - translucent = false; - translucentBlendOp = "None"; - pixelSpecular[0] = "1"; - materialTag0 = "Weapon"; -}; - -singleton Material(RifleShell_ColorEffectR88G88B225_material) -{ - mapTo = "ColorEffectR88G88B225-material"; - - diffuseMap[0] = ""; - normalMap[0] = ""; - specularMap[0] = ""; - - diffuseColor[0] = "0.345098 0.345098 0.882353 1"; - specular[0] = "1 1 1 1"; - specularPower[0] = 10; - - doubleSided = false; - translucent = false; - translucentBlendOp = "None"; - materialTag0 = "Weapon"; -}; - -//--- RifleShell.DAE MATERIALS END --- \ No newline at end of file diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/clip.jpg b/Templates/Full/game/art/shapes/weapons/SwarmGun/clip.jpg deleted file mode 100644 index 8dd9fb899..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/clip.jpg and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/debris.dts b/Templates/Full/game/art/shapes/weapons/SwarmGun/debris.dts deleted file mode 100644 index f3a55f202..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/debris.dts and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/energy.png b/Templates/Full/game/art/shapes/weapons/SwarmGun/energy.png deleted file mode 100644 index a9874d7cc..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/energy.png and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/guide.png b/Templates/Full/game/art/shapes/weapons/SwarmGun/guide.png deleted file mode 100644 index 08ed46134..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/guide.png and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/materials.cs b/Templates/Full/game/art/shapes/weapons/SwarmGun/materials.cs deleted file mode 100644 index 29f75d534..000000000 --- a/Templates/Full/game/art/shapes/weapons/SwarmGun/materials.cs +++ /dev/null @@ -1,52 +0,0 @@ -//----------------------------------------------------------------------------- -// 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. -//----------------------------------------------------------------------------- - -new Material(w_swarmgun) -{ - mapTo = "w_swarmgun"; - diffuseMap[0] = "w_swarmgun"; - normalMap[0] = "w_swarmgun_bump"; - pixelSpecular[0] = true; - specular[0] = "1.0 1.0 1.0 1.0"; - specularPower[0] = 32.0; - materialTag0 = "Weapon"; -}; - -new Material(guide) -{ - mapTo = "guide"; - diffuseMap[0] = "art/shapes/weapons/SwarmGun/guide"; - emissive[0] = true; - glow[0] = true; - materialTag0 = "Weapon"; - materialTag1 = "FX"; -}; - -new Material(energy) -{ - mapTo = "energy"; - diffuseMap[0] = "art/shapes/weapons/SwarmGun/energy.png"; - emissive[0] = true; - glow[0] = true; - materialTag0 = "Weapon"; - materialTag1 = "FX"; -}; diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/rocket.dts b/Templates/Full/game/art/shapes/weapons/SwarmGun/rocket.dts deleted file mode 100644 index 833a9940c..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/rocket.dts and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgun.dts b/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgun.dts deleted file mode 100644 index 9f2c2b485..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgun.dts and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgun.max b/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgun.max deleted file mode 100644 index 9c2799e4d..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgun.max and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgunRocket.max b/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgunRocket.max deleted file mode 100644 index bf041cc85..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/swarmgunRocket.max and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/w_swarmgun.png b/Templates/Full/game/art/shapes/weapons/SwarmGun/w_swarmgun.png deleted file mode 100644 index 3c454a133..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/w_swarmgun.png and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/w_swarmgun_bump.jpg b/Templates/Full/game/art/shapes/weapons/SwarmGun/w_swarmgun_bump.jpg deleted file mode 100644 index 8f06b3661..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/SwarmGun/w_swarmgun_bump.jpg and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/weapon.cfg b/Templates/Full/game/art/shapes/weapons/SwarmGun/weapon.cfg deleted file mode 100644 index f335419ec..000000000 --- a/Templates/Full/game/art/shapes/weapons/SwarmGun/weapon.cfg +++ /dev/null @@ -1,18 +0,0 @@ -AlwaysExport: -MountPoint -MuzzlePoint -EjectPoint -RetractionPoint - -NeverExport: -Dummy* -DELETE* -Light0 -Light1 - -+Error::AllowEmptySubtrees -+Error::AllowCrossedDetails -+Error::AllowUnusedMeshes --Error::AllowOldSequences --Error::RequireViconNode -+Param::CollapseTransforms diff --git a/Templates/Full/game/art/shapes/weapons/misc/rocket.dts b/Templates/Full/game/art/shapes/weapons/misc/rocket.dts deleted file mode 100644 index 833a9940c..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/misc/rocket.dts and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/misc/w_swarmgun.png b/Templates/Full/game/art/shapes/weapons/misc/w_swarmgun.png deleted file mode 100644 index 3c454a133..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/misc/w_swarmgun.png and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/base.dts b/Templates/Full/game/art/shapes/weapons/ramrifle/base.dts deleted file mode 100644 index 3f9ece2b3..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/ramrifle/base.dts and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/clip.jpg b/Templates/Full/game/art/shapes/weapons/ramrifle/clip.jpg deleted file mode 100644 index 8dd9fb899..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/ramrifle/clip.jpg and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/debris.dts b/Templates/Full/game/art/shapes/weapons/ramrifle/debris.dts deleted file mode 100644 index f3a55f202..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/ramrifle/debris.dts and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/debris.ms3d b/Templates/Full/game/art/shapes/weapons/ramrifle/debris.ms3d deleted file mode 100644 index a60f3bd95..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/ramrifle/debris.ms3d and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/materials.cs b/Templates/Full/game/art/shapes/weapons/ramrifle/materials.cs deleted file mode 100644 index 0a9ea5a28..000000000 --- a/Templates/Full/game/art/shapes/weapons/ramrifle/materials.cs +++ /dev/null @@ -1,41 +0,0 @@ -//----------------------------------------------------------------------------- -// 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. -//----------------------------------------------------------------------------- - -// steampunk materials - - -singleton Material(weapon_ramrifle_material) -{ - mapTo = "ramrifle_diff"; - diffuseMap[0] = "ramrifle_diff"; - normalMap[0] = "ramrifle_norm"; - //specularTex[0] = "ramrifle_spec"; - pixelSpecular[0] = true; - specular[0] = "0.99 0.91 0.81"; - specularPower[0] = 32.0; -}; - -singleton Material(clip) -{ - mapTo = "clip"; - diffuseMap[0] = "clip"; -}; diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/ramrifle_diff.png b/Templates/Full/game/art/shapes/weapons/ramrifle/ramrifle_diff.png deleted file mode 100644 index a81a8c8c5..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/ramrifle/ramrifle_diff.png and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/ramrifle/ramrifle_norm.png b/Templates/Full/game/art/shapes/weapons/ramrifle/ramrifle_norm.png deleted file mode 100644 index 63c7b37de..000000000 Binary files a/Templates/Full/game/art/shapes/weapons/ramrifle/ramrifle_norm.png and /dev/null differ diff --git a/Templates/Full/game/art/shapes/weapons/RifleShell/RifleShell.DAE b/Templates/Full/game/art/shapes/weapons/shared/RifleShell.DAE similarity index 100% rename from Templates/Full/game/art/shapes/weapons/RifleShell/RifleShell.DAE rename to Templates/Full/game/art/shapes/weapons/shared/RifleShell.DAE diff --git a/Templates/Full/game/art/shapes/weapons/RifleShell/RifleShell_diff.dds b/Templates/Full/game/art/shapes/weapons/shared/RifleShell_diff.dds similarity index 100% rename from Templates/Full/game/art/shapes/weapons/RifleShell/RifleShell_diff.dds rename to Templates/Full/game/art/shapes/weapons/shared/RifleShell_diff.dds diff --git a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/clip.jpg b/Templates/Full/game/art/shapes/weapons/shared/clip.jpg similarity index 100% rename from Templates/Full/game/art/shapes/weapons/GrenadeLauncher/clip.jpg rename to Templates/Full/game/art/shapes/weapons/shared/clip.jpg diff --git a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/debris.dts b/Templates/Full/game/art/shapes/weapons/shared/debris.dts similarity index 100% rename from Templates/Full/game/art/shapes/weapons/GrenadeLauncher/debris.dts rename to Templates/Full/game/art/shapes/weapons/shared/debris.dts diff --git a/Templates/Full/game/art/shapes/weapons/SwarmGun/debris.ms3d b/Templates/Full/game/art/shapes/weapons/shared/debris.ms3d similarity index 100% rename from Templates/Full/game/art/shapes/weapons/SwarmGun/debris.ms3d rename to Templates/Full/game/art/shapes/weapons/shared/debris.ms3d diff --git a/Templates/Full/game/art/shapes/weapons/shared/materials.cs b/Templates/Full/game/art/shapes/weapons/shared/materials.cs new file mode 100644 index 000000000..6be0f0452 --- /dev/null +++ b/Templates/Full/game/art/shapes/weapons/shared/materials.cs @@ -0,0 +1,58 @@ +singleton Material(w_swarmgun) +{ + mapTo = "w_swarmgun"; + + diffuseMap[0] = "art/shapes/weapons/shared/w_swarmgun"; + normalMap[0] = ""; + specularMap[0] = ""; + + diffuseColor[0] = "1 1 1 1"; + specular[0] = "0.996078 0.988235 0.921569 0.954"; + specularPower[0] = "19"; + + doubleSided = false; + translucent = false; + translucentBlendOp = "None"; + pixelSpecular[0] = "1"; + materialTag0 = "Weapon"; +}; + +//--- RifleShell.DAE MATERIALS BEGIN --- +singleton Material(RifleShell_RifleShell) +{ + mapTo = "RifleShell"; + + diffuseMap[0] = "art/shapes/weapons/shared/RifleShell_diff"; + normalMap[0] = ""; + specularMap[0] = ""; + + diffuseColor[0] = "1 1 1 1"; + specular[0] = "0.996078 0.988235 0.921569 0.954"; + specularPower[0] = "19"; + + doubleSided = false; + translucent = false; + translucentBlendOp = "None"; + pixelSpecular[0] = "1"; + materialTag0 = "Weapon"; +}; + +singleton Material(RifleShell_ColorEffectR88G88B225_material) +{ + mapTo = "ColorEffectR88G88B225-material"; + + diffuseMap[0] = ""; + normalMap[0] = ""; + specularMap[0] = ""; + + diffuseColor[0] = "0.345098 0.345098 0.882353 1"; + specular[0] = "1 1 1 1"; + specularPower[0] = 10; + + doubleSided = false; + translucent = false; + translucentBlendOp = "None"; + materialTag0 = "Weapon"; +}; + +//--- RifleShell.DAE MATERIALS END --- \ No newline at end of file diff --git a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/rocket.dts b/Templates/Full/game/art/shapes/weapons/shared/rocket.dts similarity index 100% rename from Templates/Full/game/art/shapes/weapons/GrenadeLauncher/rocket.dts rename to Templates/Full/game/art/shapes/weapons/shared/rocket.dts diff --git a/Templates/Full/game/art/shapes/weapons/GrenadeLauncher/w_swarmgun.png b/Templates/Full/game/art/shapes/weapons/shared/w_swarmgun.png similarity index 100% rename from Templates/Full/game/art/shapes/weapons/GrenadeLauncher/w_swarmgun.png rename to Templates/Full/game/art/shapes/weapons/shared/w_swarmgun.png