Hey I duplicated my Special.cs but I did it after I made a change which now I don't know how to fix, so could you give me the original special.cs
Thx,
00E
DAZZLE'S UPGRADE PACK
If you haven't already done so, upgrade your game by downloading Dazzle's all-in-one upgrade pack. It comes with everything you need for today's servers. Does your blue bar freeze when joining servers? Do you lag in games? Do you get an annoying siren in Phobik's Servers? This is what you need. CLICK HERE TO DOWNLOAD.
If you haven't already done so, upgrade your game by downloading Dazzle's all-in-one upgrade pack. It comes with everything you need for today's servers. Does your blue bar freeze when joining servers? Do you lag in games? Do you get an annoying siren in Phobik's Servers? This is what you need. CLICK HERE TO DOWNLOAD.
Special.cs
Moderators: Warfare, Moderator, Admin
-
- Need Major Repair
- Posts: 1659
- Joined: Sat Nov 01, 2008 8:38 am
- Location: Pennsylvania
- Contact:
Special.cs
Has Been Playing TT Since February 18, 2004
Mods Made: 17
TT2 Supporter
Mods Made: 17
TT2 Supporter
- Taylor
- Need Major Repair
- Posts: 1201
- Joined: Thu Jan 01, 2009 8:34 pm
- Location: ERROR
Re: Special.cs
Go to CB's Downloads Topic in Internet Explorer (I know, you don't normally use it on mac), then go to the bottom of the first post and click that link. there are lots of downloads there, including special.cs.
hope you find it (and i hope you have IE)
hope you find it (and i hope you have IE)
I signed up on New Years!
Macs Rule!
Proud BMT Member
Macs Rule!
Proud BMT Member
-
- Need Major Repair
- Posts: 1659
- Joined: Sat Nov 01, 2008 8:38 am
- Location: Pennsylvania
- Contact:
Re: Special.cs
Can't find where you are talking about and no I do not have Internet Explorer
Has Been Playing TT Since February 18, 2004
Mods Made: 17
TT2 Supporter
Mods Made: 17
TT2 Supporter
- Taylor
- Need Major Repair
- Posts: 1201
- Joined: Thu Jan 01, 2009 8:34 pm
- Location: ERROR
Re: Special.cs
you need Internet Explorer.
the link is here: http://www.planetthinktanks2.com/supra/ ... -other.asp
the link is here: http://www.planetthinktanks2.com/supra/ ... -other.asp
I signed up on New Years!
Macs Rule!
Proud BMT Member
Macs Rule!
Proud BMT Member
-
- Need Major Repair
- Posts: 1659
- Joined: Sat Nov 01, 2008 8:38 am
- Location: Pennsylvania
- Contact:
Re: Special.cs
Well I don;t have it Boohoo can som1 just post an original one cause mine is messed up
Has Been Playing TT Since February 18, 2004
Mods Made: 17
TT2 Supporter
Mods Made: 17
TT2 Supporter
- Dazzle
- Evil Site Admin
- Posts: 1320
- Joined: Fri Dec 29, 2006 6:59 am
- Location: London, England
- Contact:
Re: Special.cs
Code: Select all
datablock AudioProfile(DefaultBoom)
{
filename = "~/data/sound/explode.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(TankBoom)
{
filename = "~/data/sound/explodeHit.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(OwnTankBoom)
{
filename = "~/data/sound/explodeHitYou.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(SplashBoom)
{
filename = "~/data/sound/explodeArea.wav";
description = "AudioDefault3D";
preload = true;
};
datablock AudioProfile(BounceBounce)
{
filename = "~/data/sound/bounceBounce.wav";
description = "AudioDefault3D";
preload = true;
};
datablock AudioProfile(RockBoom)
{
filename = "~/data/sound/explodeVolcano.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(RockBounce)
{
filename = "~/data/sound/bounceVolcano.wav";
description = "AudioDefault3D";
preload = true;
};
datablock AudioProfile(ActivateSpeedy)
{
filename = "~/data/sound/vocSpeedy.wav";
description = "Audio2D";
preload = true;
};
datablock AudioProfile(ActivateBounce)
{
filename = "~/data/sound/vocBounce.wav";
description = "Audio2D";
preload = true;
};
datablock AudioProfile(ActivateSplash)
{
filename = "~/data/sound/vocArea.wav";
description = "Audio2D";
preload = true;
};
datablock AudioProfile(ActivateHeal)
{
filename = "~/data/sound/vocHealth.wav";
description = "Audio2D";
preload = true;
};
datablock AudioProfile(ActivateReload)
{
filename = "~/data/sound/vocReload.wav";
description = "Audio2D";
preload = true;
};
datablock AudioProfile(PupOnSound)
{
filename = "~/data/sound/activatePup.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(PupOffSound)
{
filename = "~/data/sound/pickupPup.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(ReloadSound)
{
filename = "~/data/sound/zap.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(EruptSound)
{
filename = "~/data/sound/erupt.wav";
description = "Audio2D";
preload = true;
};
datablock AudioProfile(ZoomSound)
{
filename = "~/data/sound/vocZoom.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock AudioProfile(BlowSound)
{
filename = "~/data/sound/vent.wav";
description = "AudioDefault3D";
preload = true;
};
// SoftCollSound also used by tankFx.cs
datablock AudioProfile(SoftCollSound)
{
filename = "~/data/sound/softColl.wav";
description = "AudioDefault3DMed";
preload = true;
};
datablock ExplosionData(DefaultExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 0.8; // per side, in meters
durationScale = 200.0; // in milliseconds
resource = "~/data/shapes/tanks/TankExplosion02.png";
sound = "DefaultBoom";
};
datablock ExplosionData(DefaultTankExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 2.0; // per side, in meters
durationScale = 1600.0; // in milliseconds
resource = "~/data/shapes/tanks/DefaultExplosion.dts";
sound = "TankBoom";
};
datablock ExplosionData(DefaultOwnTankExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 2.0; // per side, in meters
durationScale = 1600.0; // in milliseconds
resource = "~/data/shapes/tanks/DefaultExplosion.dts";
sound = "OwnTankBoom";
};
datablock ExplosionData(SpeedyExplosion : DefaultExplosion)
{
resource = "~/data/shapes/tanks/TankExplosion02.png";
};
datablock ExplosionData(SpeedyTankExplosion : DefaultTankExplosion)
{
resource = "~/data/shapes/tanks/DefaultExplosion.dts";
};
datablock ExplosionData(SpeedyOwnTankExplosion : DefaultOwnTankExplosion)
{
resource = "~/data/shapes/tanks/DefaultExplosion.dts";
};
datablock ExplosionData(BounceExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 2.15; // per side, in meters
durationScale = 800.0; // in milliseconds
resource = "~/data/shapes/tanks/BounceExplosion.dts";
sound = "DefaultBoom";
};
datablock ExplosionData(BounceTankExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 2.0; // per side, in meters
durationScale = 800.0; // in milliseconds
resource = "~/data/shapes/tanks/BounceExplosion.dts";
sound = "TankBoom";
};
datablock ExplosionData(BounceOwnTankExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 2.0; // per side, in meters
durationScale = 800.0; // in milliseconds
resource = "~/data/shapes/tanks/BounceExplosion.dts";
sound = "OwnTankBoom";
};
datablock ExplosionData(BounceBump)
{
startScale = 0.05; // per side, in meters
endScale = 1.35; // per side, in meters
durationScale = 200.0; // in milliseconds
resource = "~/data/shapes/tanks/BounceBump.png";
sound = "BounceBounce";
};
datablock ExplosionData(RockExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 20.5; // per side, in meters
durationScale = 300.0; // in milliseconds
resource = "~/data/shapes/Common/VolcanoExplosion.png";
sound = "RockBoom";
};
datablock ExplosionData(RockBump)
{
startScale = 0.05; // per side, in meters
endScale = 10.15; // per side, in meters
durationScale = 200.0; // in milliseconds
resource = "~/data/shapes/Common/VolcanoBump.png";
sound = "RockBounce";
};
datablock ExplosionData(SplashExplosion)
{
startScale = 0.05; // per side, in meters
endScale = 2.0; // per side, in meters
durationScale = 800.0; // in milliseconds
resource = "~/data/shapes/tanks/AreaExplosion.dts";
sound = "SplashBoom";
};
datablock ParticleData(Rocket)
{
textureName = "~/data/shapes/tanks/smoke.png";
dragCoefficient = 1.0;
gravityCoefficient = -0.2;
inheritedVelFactor = 0.3;
constantAcceleration = 0.0;
lifetimeMS = 2000;
lifetimeVarianceMS = 500;
useInvAlpha = true;
spinRandomMin = -90.0;
spinRandomMax = 500.0;
colors[0] = "0.56 0.36 0.26 1.0";
colors[1] = "0.56 0.36 0.26 1.0";
colors[2] = "0.36 0.21 0.21 0.4";
colors[3] = "0 0 0 0";
sizes[0] = 0.35;
sizes[1] = 0.85;
sizes[2] = 1.95;
sizes[3] = 2.95;
times[0] = 0.0;
times[1] = 0.2;
times[2] = 0.5;
times[3] = 1.0;
};
datablock ParticleEmitterData(RocketEmitter)
{
ejectionPeriodMS = 28;
periodVarianceMS = 27;
ejectionVelocity = 1.5;
velocityVariance = 0.5;
ejectionOffset = 0.0;
thetaMin = 90;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvances = false;
particles = "Rocket";
};
datablock ParticleData(Rocksmoke)
{
textureName = "~/data/shapes/tanks/smoke.png";
dragCoefficient = 1.0;
gravityCoefficient = -0.2;
inheritedVelFactor = 0.3;
constantAcceleration = 0.0;
lifetimeMS = 1200;
lifetimeVarianceMS = 500;
useInvAlpha = true;
spinRandomMin = -90.0;
spinRandomMax = 500.0;
colors[0] = "0.56 0.36 0.26 1.0";
colors[1] = "0.56 0.36 0.26 1.0";
colors[2] = "0.36 0.21 0.21 0.4";
colors[3] = "0 0 0 0";
sizes[0] = 1.75;
sizes[1] = 2.55;
sizes[2] = 3.65;
sizes[3] = 4.95;
times[0] = 0.0;
times[1] = 0.2;
times[2] = 0.5;
times[3] = 1.0;
};
datablock ParticleEmitterData(RocksmokeEmitter)
{
ejectionPeriodMS = 60;
periodVarianceMS = 27;
ejectionVelocity = 1.5;
velocityVariance = 0.5;
ejectionOffset = 0.0;
thetaMin = 90;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvances = false;
particles = "Rocksmoke";
};
datablock ParticleData(Smoke)
{
textureName = "~/data/shapes/tanks/smoke.png";
dragCoefficient = 1.0;
gravityCoefficient = -0.2;
inheritedVelFactor = 0.3;
constantAcceleration = 0.0;
lifetimeMS = 2000;
lifetimeVarianceMS = 500;
useInvAlpha = true;
spinRandomMin = -90.0;
spinRandomMax = 500.0;
colors[0] = "0.56 0.36 0.26 1.0";
colors[1] = "0.56 0.36 0.26 1.0";
colors[2] = "0.36 0.21 0.21 0.4";
colors[3] = "0 0 0 0";
sizes[0] = 0.52;
sizes[1] = 1.25;
sizes[2] = 1.75;
sizes[3] = 2.95;
times[0] = 0.0;
times[1] = 0.2;
times[2] = 0.5;
times[3] = 1.0;
};
datablock ParticleEmitterData(SmokeEmitter)
{
ejectionPeriodMS = 73;
periodVarianceMS = 50;
ejectionVelocity = 1.5;
velocityVariance = 0.5;
ejectionOffset = 0.0;
thetaMin = 90;
thetaMax = 90;
phiReferenceVel = 0;
phiVariance = 360;
overrideAdvances = false;
particles = "Smoke";
};
datablock ReticleData(DefaultReticle)
{
// Note: reticle position is based on projectile speed, so position is determined by time
//dts = "~/data/shapes/tanks/ring.dts";
bmp = "~/data/shapes/tanks/reticle.png";
size = 1.2; // scale of reticle shape when using dts
startTime = 0.08; // time (in seconds) to first draw reticle
timeStep = 0.18; // time step (in seconds)
tickCount = 15; // number of reticle ticks
spacingExponent = 1.4; // reticle tick spacing (1=linear, over 1 = bunched near start)
smoothNear = 0.02; // 0->no smoothing, 1->so smooth camera doesn't move
smoothFar = 0.63; // 0->no smoothing, 1->so smooth camera doesn't move
smoothExponent = 0.2; // 1=linear interpolation between near and far
// larger numbers result in bunching values around near value
// smaller numbers result in buncing values around far value
// reticle animation parameters...experimental
doAnim = false;
animBmp = "~/data/shapes/tanks/reticle.png";
animTime = 750; // round-trip in milliseconds
animSize = 0.3; // size of animated bmp
doSpot = true;
spotBmp = "~/data/shapes/tanks/reticleSpot.png";
spotSizeNear = 0.72;
spotSizeFar = 2.2;
};
datablock ReticleData(LightReticle : DefaultReticle)
{
startTime = 0.10;
timeStep = 0.20;
tickCount = 15;
spacingExponent = 1.5;
smoothNear = 0.02;
smoothFar = 0.83;
smoothExponent = 0.2;
};
datablock ReticleData(HeavyReticle : DefaultReticle)
{
startTime = 0.06;
timeStep = 0.16;
tickCount = 15;
smoothNear = 0.02;
smoothFar = 0.63;
smoothExponent = 0.2;
};
datablock ReticleData(SpeedyReticle : DefaultReticle)
{
// Note: reticle position is based on projectile speed, so position is determined by time
bmp = "~/data/shapes/tanks/Speedyreticle.png";
size = 1.2; // size of reticle in meters
startTime = 0.04; // time (in seconds) to first draw reticle
timeStep = 0.08; // time step (in seconds)
spacingExponent = 1.6; // reticle tick spacing (1=linear, over 1 = bunched near start)
// reticle animation parameters...experimental
doAnim = false;
animBmp = "~/data/shapes/tanks/Speedyreticle.png";
animTime = 750; // round-trip in milliseconds
animSize = 0.3; // size of animated bmp
};
datablock ReticleData(BounceReticle : DefaultReticle)
{
// Note: reticle position is based on projectile speed, so position is determined by time
bmp = "~/data/shapes/tanks/Bouncereticle.png";
size = 1.2; // size of reticle in meters
startTime = 0.21; // time (in seconds) to first draw reticle
timeStep = 0.6; // time step (in seconds)
spacingExponent = 1.0; // reticle tick spacing (1=linear, over 1 = bunched near start)
smoothNear = 0.02; // 0->no smoothing, 1->so smooth camera doesn't move
// reticle animation parameters...experimental
doAnim = false;
animBmp = "~/data/shapes/tanks/Bouncereticle.png";
animTime = 750; // round-trip in milliseconds
animSize = 0.3; // size of animated bmp
};
datablock ReticleData(OtherReticle : DefaultReticle)
{
// Note: reticle position is based on projectile speed, so position is determined by time
bmp = "~/data/shapes/tanks/Splashreticle.png";
size = 1.2; // size of reticle in meters
startTime = 0.21; // time (in seconds) to first draw reticle
timeStep = 0.6; // time step (in seconds)
spacingExponent = 1.0; // reticle tick spacing (1=linear, over 1 = bunched near start)
smoothNear = 0.02; // 0->no smoothing, 1->so smooth camera doesn't move
// reticle animation parameters...experimental
doAnim = false;
animBmp = "~/data/shapes/tanks/Splashreticle.png";
animTime = 750; // round-trip in milliseconds
animSize = 0.3; // size of animated bmp
};
datablock ProjectileData(DefaultProjectile)
{
velocity = 85.0; // meters per second
inheritVelocity = 0.97; // how much of shooters velocity to inherit
numBounce = 0; // usually 0
splashArea = 0.0; // usually 0
count = 145; // how many shots per clip?
saveOldCartridge = false; // chuck old cartridge or keep it around
canSave = true; // can this cartridge be saved if another comes along?
reloadTime = 150; // in milliseconds
burstDelay = 1000; // milliseconds until next burst if button held down
burstCount = 5; // number of projectiles to fire per burst
synchTime = 1000; // synch over this many milliseconds
synchBefore = 500; // synch if not older than this in milliseconds
damage = 1; // usually 1
gravityScale = 0.4; //
sizeScale = 0.4; // scale of projectile (meters for bitmaps)
resource = "~/data/shapes/tanks/DefaultProjectile.png"; // shape or bitmap
tankExplosion = "DefaultTankExplosion"; // datablock for explosion
ownTankExplosion = "DefaultOwnTankExplosion"; // datablock for explosion
bounceExplosion = "DefaultExplosion"; // datablock for explosion
otherExplosion = "DefaultExplosion"; // datablock for explosion
reticle = "DefaultReticle";
};
datablock ProjectileData(LightProjectile : DefaultProjectile)
{
velocity = 77.0;
inheritVelocity = 1.0;
count = 220;
reloadTime = 125;
burstDelay = 1000;
burstCount = 8;
damage = 0.87;
gravityScale = 0.4;
sizeScale = 0.4;
reticle = "LightReticle";
};
datablock ProjectileData(HeavyProjectile : DefaultProjectile)
{
velocity = 120.0;
inheritVelocity = 0.96;
count = 180;
reloadTime = 180;
burstDelay = 1000;
burstCount = 3;
damage = 1.4;
gravityScale = 0.5;
sizeScale = 0.4;
reticle = "HeavyReticle";
};
datablock ProjectileData(SpeedyProjectile)
{
velocity = 190.0; // meters per second
inheritVelocity = 0.97; // how much of shooters velocity to inherit
numBounce = 0; // usually 0
splashArea = 0.0; // usually 0
count = 35; // how many shots per clip?
saveOldCartridge = true; // chuck old cartridge or keep it around
canSave = false; // can this cartridge be saved if another comes along?
reloadTime = 100; // in milliseconds
burstDelay = 1000; // milliseconds until next burst if button held down
burstCount = 5; // number of projectiles to fire per burst
synchTime = 1000; // synch over this many milliseconds
synchBefore = 500; // synch if not older than this in milliseconds
damage = 1; // usually 1
gravityScale = 0.3; //
sizeScale = 0.6; // scale of projectile (meters for bitmaps)
resource = "~/data/shapes/tanks/SpeedyProjectile.png"; // shape or bitmap
tankExplosion = "DefaultTankExplosion"; // datablock for explosion
ownTankExplosion = "DefaultTankExplosion"; // datablock for explosion
bounceExplosion = "DefaultExplosion"; // datablock for explosion
otherExplosion = "DefaultExplosion"; // datablock for explosion
reticle = "SpeedyReticle";
};
datablock ProjectileData(BounceProjectile)
{
velocity = 35.0; // meters per second
inheritVelocity = 0.93; // how much of shooters velocity to inherit
numBounce = 8; // usually 0
bounceFactor = 0.5;
splashArea = 2.0; // usually 0
count = 45; // how many shots per clip?
saveOldCartridge = true; // chuck old cartridge or keep it around
canSave = false; // can this cartridge be saved if another comes along?
reloadTime = 150; // in milliseconds
burstDelay = 1000; // milliseconds until next burst if button held down
burstCount = 4; // number of projectiles to fire per burst
synchTime = 1000; // synch over this many milliseconds
synchBefore = 500; // synch if not older than this in milliseconds
damage = 1; // usually 1
gravityScale = 1.7; //
sizeScale = 0.6; // scale of projectile (meters for bitmaps)
resource = "~/data/shapes/tanks/bounceprojectile.png"; // shape or bitmap
tankExplosion = "BounceTankExplosion"; // datablock for explosion
ownTankExplosion = "BounceOwnTankExplosion"; // datablock for explosion
bounceExplosion = "BounceBump"; // datablock for explosion
otherExplosion = "BounceExplosion"; // datablock for explosion
reticle = "BounceReticle";
};
datablock ProjectileData(BrainProjectile)
{
velocity = 21.0; // meters per second
inheritVelocity = 1.00; // how much of shooters velocity to inherit
numBounce = 8; // usually 0
bounceFactor = 0.5;
splashArea = 0.0; // usually 0
count = 0; // how many shots per clip?
saveOldCartridge = false; // chuck old cartridge or keep it around
canSave = false; // can this cartridge be saved if another comes along?
reloadTime = 0; // in milliseconds
burstDelay = 0; // milliseconds until next burst if button held down
burstCount = 0; // number of projectiles to fire per burst
synchTime = 0; // synch over this many milliseconds
synchBefore = 0; // synch if not older than this in milliseconds
damage = 0; // usually 1
gravityScale = 0.0; //
sizeScale = 0.2; // scale of projectile (meters for bitmaps)
resource = ""; // shape or bitmap
tankExplosion = ""; // datablock for explosion
bounceExplosion = ""; // datablock for explosion
otherExplosion = ""; // datablock for explosion
reticle = "";
emitter = "RocketEmitter";
};
datablock ProjectileData(SplashProjectile)
{
velocity = 40.0; // meters per second
inheritVelocity = 1.00; // how much of shooters velocity to inherit
numBounce = 0; // usually 0
splashArea = 5.0; // usually 0
count = 10; // how many shots per clip?
saveOldCartridge = true; // chuck old cartridge or keep it around
canSave = false; // can this cartridge be saved if another comes along?
reloadTime = 1000; // in milliseconds
burstDelay = 1000; // milliseconds until next burst if button held down
burstCount = 1; // number of projectiles to fire per burst
synchTime = 1000; // synch over this many milliseconds
synchBefore = 500; // synch if not older than this in milliseconds
damage = 3; // usually 1
gravityScale = 0.5; //
sizeScale = 0.7; // scale of projectile (meters for bitmaps)
resource = "~/data/shapes/tanks/AreaProjectile.png"; // shape or bitmap
tankExplosion = "SplashExplosion"; // datablock for explosion
ownTankExplosion = "SplashExplosion"; // datablock for explosion
bounceExplosion = "DefaultExplosion"; // datablock for explosion
otherExplosion = "SplashExplosion"; // datablock for explosion
reticle = "OtherReticle";
};
datablock ProjectileData(VolcanoRock)
{
velocity = 63; // meters per second
inheritVelocity = 0.0; // how much of shooters velocity to inherit
numBounce = 5; // usually 0
bounceFactor = 0.3;
splashArea = 5.0; // usually 0
count = 1; // how many shots per clip?
saveOldCartridge = true; // chuck old cartridge or keep it around
canSave = true; // can this cartridge be saved if another comes along?
reloadTime = 250; // in milliseconds
burstDelay = 1000; // milliseconds until next burst if button held down
burstCount = 1; // number of projectiles to fire per burst
synchTime = 1000; // synch over this many milliseconds
synchBefore = 500; // synch if not older than this in milliseconds
damage = 3; // usually 1
gravityScale = 0.75; //
sizeScale = 1.0; // scale of projectile (meters for bitmaps)
maxRotation = 25.0; // this many radians per sec at max X-Y velocity
resource = "~/data/shapes/common/volcanorock01.dts"; // shape or bitmap
tankExplosion = "RockExplosion"; // datablock for explosion
ownTankExplosion = "RockExplosion"; // datablock for explosion
bounceExplosion = "RockBump"; // datablock for explosion
otherExplosion = "RockExplosion"; // datablock for explosion
reticle = "OtherReticle";
emitter = "RocksmokeEmitter";
};
datablock PowerUpData(BrainData)
{
category = "PowerUp";
shape = "~/data/shapes/tanks/brain.dts";
type = "brain";
shadow = true;
shadowAnimation = true;
startOn = true;
minOff = 120000;
maxOff = 120000;
sound = "PupOnSound";
soundOff = "PupOffSound";
};
datablock PowerUpData(TestPowerup)
{
category = "PowerUp";
shape = "~/data/shapes/common/powerup.dts";
type = "weapon";
minOff = 60000;
maxOff = 90000;
startOn = false;
shadow = true;
shadowAnimation = true;
aiPickup = true;
sound = "PupOnSound";
soundOff = "PupOffSound";
};
datablock PowerUpData(Heal)
{
category = "PowerUp";
shape = "~/data/shapes/common/health.dts";
type = "health";
minOff = 90000;
maxOff = 120000;
startOn = false;
shadow = true;
shadowAnimation = true;
aiPickup = true;
sound = "PupOnSound";
soundOff = "PupOffSound";
};
datablock PowerUpData(Reload)
{
category = "PowerUp";
shape = "~/data/shapes/common/recharge.dts";
userseq1 = "activate";
type = "ammo";
shadow = true;
staticShadow = true;
soundOff = "ReloadSound";
};
datablock BoostData(TestBoost)
{
category = "Boost";
shape = "~/data/shapes/common/boostpad.dts";
type = "additive";
shadow = false;
advanceDelayOnEnter = 200;
numStates = 4;
stateName1 = "moe";
velocity1 = 24.5;
minDuration1 = 0;
stateName2 = "larry";
velocity2 = 24.5;
minDuration2 = 0;
stateName3 = "curly";
velocity3 = 24.5;
minDuration3 = 0;
stateName4 = "schemp";
velocity4 = 24.5;
minDuration4 = 0;
sound = "ZoomSound";
};
datablock BoostData(Boost4 : TestBoost)
{
numStates = 4;
};
datablock BoostData(Boost1 : TestBoost)
{
numStates = 1;
};
datablock BoostData(TestJump)
{
category = "Boost";
shape = "~/data/shapes/common/jumppad.dts";
type = "additive";
shadow = false;
numStates = 1;
stateName1 = "";
velocity1 = 16.5;
sound = "BlowSound";
};
datablock VolcanoData(VolcanoDB)
{
category = "Volcano";
shadow = false;
staticShadow = true;
shape = "~/data/shapes/common/volcano.dts";
numZones = 5;
minAttackDelay = 15000;
maxAttackDelay = 25000;
minAttackRocks = 3;
maxAttackRocks = 20;
zoneName1 = "target1";
zoneWeight1 = 1;
zoneFocusWeight1 = 4;
zoneRadius1 = 15;
zoneName2 = "target2";
zoneWeight2 = 1;
zoneFocusWeight2 = 4;
zoneRadius2 = 15;
zoneName3 = "target3";
zoneWeight3 = 1;
zoneFocusWeight3 = 4;
zoneRadius3 = 15;
zoneName4 = "target4";
zoneWeight4 = 1;
zoneFocusWeight4 = 4;
zoneRadius4 = 15;
zoneName5 = "target5";
zoneWeight5 = 1;
zoneFocusWeight5 = 4;
zoneRadius5 = 15;
projectile = "VolcanoRock";
sound = "EruptSound";
};
datablock FlagData(DefaultFlag)
{
category = "Flags";
shapeFile = "~/data/shapes/common/scrumball.dts";
bounceTerrain = 0.7; // 0->complete stop 1->full reverse
bounceStatic = 0.5; // 0->complete stop 1->full reverse
frictionTerrain = 0.4; // 0->no friction, 1->sticky
unstuckTime = 2500; // time (in ms) tank can be stuck before getting unstuck boost
unstuckBoost = 10; // velocity boost in m/s
// suspension
springRange = 0.3;
springVelScale = 1.0;
springCorrectScale1 = 2.0;
springCorrectScale2 = 0.99;
// sound
hardCollSound = "SoftCollSound"; // sound to play when hitting other tank hard
hardCollVel = 1; // must be going this fast (m/s) to make hard sound
softCollSound = ""; // soft sound
softCollVel = 1; // speed to make soft sound
collISI = 200; // don't replay sooner than this (in ms)
snagFlagSound = "PupOffSound";
noPickup = false;
};
datablock PowerUpData(DefaultGoal)
{
category = "Goal";
shape = "~/data/shapes/common/scrumgoal.dts";
type = "goal";
minOff = 0;
maxOff = 0;
startOn = true;
shadow = false;
shadowAnimation = false;
sound = "PupOnSound";
soundOff = "";
};
$NumPupTypes = 3;
$pupTypes[0] = "SpeedyProjectile";
$pupTypes[1] = "BounceProjectile";
$pupTypes[2] = "SplashProjectile";
$pupSnds[0] = "ActivateSpeedy";
$pupSnds[1] = "ActivateBounce";
$pupSnds[2] = "ActivateSplash";
function PowerUpData::onEnter(%db,%this,%tank)
{
//echo(%tank.client.name @ " enters powerup " @ %this.getId() @ " of type " @ %db.type);
if (%db.type $= "weapon")
{
%choice = getRandom($NumPupTypes-1);
%tank.setProjectile($pupTypes[%choice]);
if (getRandom(10)<=2 && !$Game::SinglePlayer)
%this.schedule(5000,"setDatablock","Heal");
// schedule say $pupSnds[%choice]
if (isObject(%tank.client))
%tank.client.schedule(1000,"play2D",$pupSnds[%choice]);
}
else if (%db.type $= "health")
{
%tank.hurtMe(-100);
%this.schedule(5000,"setDatablock","TestPowerup");
// schedule say Heal
if (isObject(%tank.client))
%tank.client.schedule(1000,"play2D","ActivateHeal");
}
else if (%db.type $= "ammo")
{
%this.playUserThread(1,1,true);
%tank.setProjectile(%tank.getDataBlock().defaultProjectile);
// schedule say Reload
if (isObject(%tank.client))
%tank.client.schedule(1000,"play2D","ActivateReload");
}
else if (%db.type $= "goal")
{
if ($Game::MissionType $= "Scrum")
{
if (%tank.getFlag() != -1)
{
serverPlay3D(PupOffSound,%this.getTransform());
%flag = %tank.getFlag();
%flag.clearMount();
%flag.setTransform(VectorAdd(pickSpawnPoint(""),"0 0 10"));
%flag.setGoal(pickGoal());
if ($Game::TeamGame)
bottomPrintAll(%tank.client.nameBase SPC "scored a goal for the" SPC %tank.client.team.shortName SPC "team!",4,2);
else
bottomPrintAll(%tank.client.nameBase SPC "scored a goal!",4,2);
%tank.incScore(1,1);
}
}
}
else if (%db.type $= "brain")
{
if ($Game::SinglePlayer)
{
if (%tank.getId() == LocalClientConnection.player.getId())
{
%startScore = strfrap(strswiz($Game::idleText @ "client",12),%tank.client.spscore);
%score = %startScore + $Game::BrainPoints;
%tank.client.spscore = strfrip(strswiz($Game::idleText @ "client",12),%score);
SPScoreGui.setScore(%score);
LocalClientConnection.brains++;
SPBrainCounter.setCount(LocalClientConnection.brains);
LocalClientConnection.lastKillTime = getSimTime(); // delay exit for a moment
// this code currently duplicates code in tank.cs...consolidate??? no, for "security" reasons
%freeLives = mFloor(%score/10000)-mFloor(%startScore/10000);
if (%freeLives>0)
{
alxPlay(SPExtra);
%tank.client.lives = %tank.client.lives + %freeLives;
SPLivesGui.showLives(%tank.client.lives);
}
}
}
}
}
function PowerUpData::onLeave(%db,%this,%tank)
{
//echo(%tank.client.name @ " leaves powerup " @ %this.getId() @ " of type " @ %db.type);
}
function FlagData::onOutOfBounds(%db,%flag)
{
%flag.clearMount();
%flag.setTransform(VectorAdd(pickSpawnPoint(""),"0 0 10"));
%flag.setGoal(pickGoal());
}
//-----------------------------------------------------------------------------
function FlagData::create(%block)
{
switch$(%block)
{
case "DefaultFlag":
%obj = new Flag() {
dataBlock = %block;
};
return(%obj);
}
return(-1);
}
function PowerUpData::create(%block)
{
switch$(%block)
{
case "TestPowerup":
%obj = new PowerUp() { dataBlock = %block; };
return(%obj);
case "Heal":
%obj = new PowerUp() { dataBlock = %block; };
return(%obj);
case "Reload":
%obj = new PowerUp() { dataBlock = %block; };
return(%obj);
case "Brain":
%obj = new PowerUp() { dataBlock = %block; };
return(%obj);
}
return(-1);
}
function BoostData::create(%block)
{
switch$(%block)
{
case "TestBoost":
%obj = new Boost() { dataBlock = %block; };
return(%obj);
case "Boost1":
%obj = new Boost() { dataBlock = %block; };
return(%obj);
case "Boost4":
%obj = new Boost() { dataBlock = %block; };
return(%obj);
case "TestJump":
%obj = new Boost() { dataBlock = %block; };
return(%obj);
}
return(-1);
}
function VolcanoData::create(%block)
{
switch$(%block)
{
case "VolcanoDB":
%obj = new Volcano() { dataBlock = %block; };
return(%obj);
}
return(-1);
}
-
- Need Major Repair
- Posts: 1659
- Joined: Sat Nov 01, 2008 8:38 am
- Location: Pennsylvania
- Contact:
- LGM
- Site Admin
- Posts: 2100
- Joined: Fri Dec 29, 2006 12:59 pm
- Location: Very Northwest WA
- Contact:
Re: Special.cs
00E-
Back that up before you do changes and you won't need to ask where to find it again.
Back that up before you do changes and you won't need to ask where to find it again.
-
- Need Major Repair
- Posts: 1659
- Joined: Sat Nov 01, 2008 8:38 am
- Location: Pennsylvania
- Contact:
Re: Special.cs
I know I did back it up the first time but like I said I duplicated the file after I made one change, and that change was major, and I couldn't figure out how to fix it so I tried everything and pretty much messed everything else up so my backups never really helped, but thank you for reminding me!
Thx,
00E
Thx,
00E
Has Been Playing TT Since February 18, 2004
Mods Made: 17
TT2 Supporter
Mods Made: 17
TT2 Supporter