98
« on: March 27, 2012, 04:14:00 PM »
So I edited heed's old AA turret. I made the projectiles do more damage, the gun shoot faster and I made the projectile go faster.
I tried to test it but it won't show up in-game.
datablock TSShapeConstructor(AATurretDts)
{
baseShape = "./AATurret.dts";
sequence0 = "./t_root.dsq root";
sequence1 = "./t_root.dsq run";
sequence2 = "./t_root.dsq walk";
sequence3 = "./t_root.dsq back";
sequence4 = "./t_root.dsq side";
sequence5 = "./t_root.dsq crouch";
sequence6 = "./t_root.dsq crouchRun";
sequence7 = "./t_root.dsq crouchBack";
sequence8 = "./t_root.dsq crouchSide";
sequence9 = "./t_look.dsq look";
sequence10 = "./t_root.dsq headside";
sequence11 = "./t_root.dsq headUp";
sequence12 = "./t_root.dsq jump";
sequence13 = "./t_root.dsq standjump";
sequence14 = "./t_root.dsq fall";
sequence15 = "./t_root.dsq land";
sequence16 = "./t_root.dsq armAttack";
sequence17 = "./t_root.dsq armReadyLeft";
sequence18 = "./t_root.dsq armReadyRight";
sequence19 = "./t_root.dsq armReadyBoth";
sequence20 = "./t_root.dsq spearready";
sequence21 = "./t_root.dsq spearThrow";
sequence22 = "./t_root.dsq talk";
sequence23 = "./t_root.dsq death1";
sequence24 = "./t_root.dsq shiftUp";
sequence25 = "./t_root.dsq shiftDown";
sequence26 = "./t_root.dsq shiftAway";
sequence27 = "./t_root.dsq shiftTo";
sequence28 = "./t_root.dsq shiftLeft";
sequence29 = "./t_root.dsq shiftRight";
sequence30 = "./t_root.dsq rotCW";
sequence31 = "./t_root.dsq rotCCW";
sequence32 = "./t_root.dsq undo";
sequence33 = "./t_root.dsq plant";
sequence34 = "./t_root.dsq sit";
sequence35 = "./t_root.dsq wrench";
};
datablock ProjectileData(AATurretProjectile : gunProjectile)
{
directDamage = 40;
};
datablock PlayerData(AATurretPlayer)
{
ShootOnClick=1;
ShootOnClick_Hold=1;
ShootOnClick_ShootDelay=100;
ShootOnClick_ReShootDelay=100;
ShootOnClick_ProjectileCount=2;
ShootOnClick_RequiredSlot=0;
ShootOnClick_Sound=gunshot1Sound;
ShootOnClick_Projectile[0]= AATurretProjectile;
ShootOnClick_Position[0]="3 -1 1";
ShootOnClick_Velocity[0]="200 0 0";
ShootOnClick_Scale[0]="1 1 1";
ShootOnClick_Projectile[1]= AATurretProjectile;
ShootOnClick_Position[1]="3 1 1";
ShootOnClick_Velocity[1]="200 0 0";
ShootOnClick_Scale[1]="1 1 1";
renderFirstPerson = true;
emap = false;
className = Armor;
shapeFile = "./AATurret.dts";
cameraMaxDist = 15;
cameraTilt = 0.261;
cameraVerticalOffset = 5.3;
computeCRC = false;
canObserve = true;
cmdCategory = "Clients";
cameraDefaultFov = 90.0;
cameraMinFov = 5.0;
cameraMaxFov = 120.0;
//debrisShapeName = "~/data/player/debris_player.dts";
//debris = horseDebris;
aiAvoidThis = true;
minLookAngle = -1.5708;
maxLookAngle = 0;
maxFreelookAngle = 3.0;
mass = 200;
drag = 10;
maxdrag = 0.52;
density = 0.7;
maxDamage = 250;
maxEnergy = 10;
repairRate = 0.33;
energyPerDamagePoint = 75.0;
rechargeRate = 0.4;
runForce = 0 * 0;
runEnergyDrain = 0;
minRunEnergy = 0;
maxForwardSpeed = 0;
maxBackwardSpeed = 0;
maxSideSpeed = 0;
maxForwardCrouchSpeed = 0;
maxBackwardCrouchSpeed = 0;
maxSideCrouchSpeed = 0;
maxForwardProneSpeed = 0;
maxBackwardProneSpeed = 0;
maxSideProneSpeed = 0;
maxForwardWalkSpeed = 0;
maxBackwardWalkSpeed = 0;
maxSideWalkSpeed = 0;
maxUnderwaterForwardSpeed = 0;
maxUnderwaterBackwardSpeed = 0;
maxUnderwaterSideSpeed = 0;
jumpForce = 0 * 0; //8.3 * 90;
jumpEnergyDrain = 0;
minJumpEnergy = 0;
jumpDelay = 0;
minJetEnergy = 0;
jetEnergyDrain = 0;
canJet = 0;
recoverDelay = 0;
recoverRunForceScale = 1.2;
minImpactSpeed = 250;
speedDamageScale = 3.8;
boundingBox = vectorScale("2.5 2.5 1.7", 4);
crouchBoundingBox = vectorScale("2.5 2.5 1.7", 4);
proneBoundingBox = vectorScale("2.5 2.5 1.7", 4);
pickupRadius = 0.75;
// Damage location details
boxNormalHeadPercentage = 0.83;
boxNormalTorsoPercentage = 0.49;
boxHeadLeftPercentage = 0;
boxHeadRightPercentage = 1;
boxHeadBackPercentage = 0;
boxHeadFrontPercentage = 1;
// Foot Prints
//decalData = HorseFootprint;
//decalOffset = 0.25;
jetEmitter = playerJetEmitter;
jetGroundEmitter = playerJetGroundEmitter;
jetGroundDistance = 4;
//footPuffEmitter = LightPuffEmitter;
footPuffNumParts = 10;
footPuffRadius = 0.25;
//dustEmitter = LiftoffDustEmitter;
splash = PlayerSplash;
splashVelocity = 4.0;
splashAngle = 67.0;
splashFreqMod = 300.0;
splashVelEpsilon = 0.60;
bubbleEmitTime = 0.1;
splashEmitter[0] = PlayerFoamDropletsEmitter;
splashEmitter[1] = PlayerFoamEmitter;
splashEmitter[2] = PlayerBubbleEmitter;
mediumSplashSoundVelocity = 10.0;
hardSplashSoundVelocity = 20.0;
exitSplashSoundVelocity = 5.0;
// Controls over slope of runnable/jumpable surfaces
runSurfaceAngle = 85;
jumpSurfaceAngle = 86;
minJumpSpeed = 20;
maxJumpSpeed = 30;
horizMaxSpeed = 68;
horizResistSpeed = 33;
horizResistFactor = 0.35;
upMaxSpeed = 80;
upResistSpeed = 25;
upResistFactor = 0.3;
footstepSplashHeight = 0.35;
//NOTE: some sounds commented out until wav's are available
JumpSound = HorseJumpSound;
// Footstep Sounds
//FootSoftSound = HorseFootFallSound;
//FootHardSound = HorseFootFallSound;
//FootMetalSound = HorseFootFallSound;
//FootSnowSound = HorseFootFallSound;
//FootShallowSound = HorseFootFallSound;
//FootWadingSound = HorseFootFallSound;
//FootUnderwaterSound = HorseFootFallSound;
//FootBubblesSound = FootLightBubblesSound;
//movingBubblesSound = ArmorMoveBubblesSound;
//waterBreathSound = WaterBreathMaleSound;
//impactSoftSound = ImpactLightSoftSound;
//impactHardSound = ImpactLightHardSound;
//impactMetalSound = ImpactLightMetalSound;
//impactSnowSound = ImpactLightSnowSound;
//impactWaterEasy = ImpactLightWaterEasySound;
//impactWaterMedium = ImpactLightWaterMediumSound;
//impactWaterHard = ImpactLightWaterHardSound;
groundImpactMinSpeed = 10.0;
groundImpactShakeFreq = "4.0 4.0 4.0";
groundImpactShakeAmp = "1.0 1.0 1.0";
groundImpactShakeDuration = 0.8;
groundImpactShakeFalloff = 10.0;
//exitingWater = ExitingWaterLightSound;
observeParameters = "0.5 4.5 4.5";
// Inventory Items
maxItems = 10; //total number of bricks you can carry
maxWeapons = 5; //this will be controlled by mini-game code
maxTools = 5;
uiName = "AA Turret";
rideable = true;
lookUpLimit = 0.6;
lookDownLimit = 0.1;
canRide = false;
showEnergyBar = false;
paintable = true;
brickImage = horseBrickImage; //the imageData to use for brick deployment
numMountPoints = 1;
mountThread[0] = "sit";
//protection for passengers
protectPassengersBurn = true; //protect passengers from the burning effect of explosions?
protectPassengersRadius = false; //protect passengers from radius damage (explosions) ?
protectPassengersDirect = false; //protect passengers from direct damage (bullets) ?
};
datablock DebrisData(AAturretDebris)
{
emitters = "jeepDebrisTrailEmitter";
shapeFile = "./AATurret.dts";
lifetime = 3.0;
minSpinSpeed = -300.0;
maxSpinSpeed = 300.0;
elasticity = 0.5;
friction = 0.2;
numBounces = 1;
staticOnMaxBounce = true;
snapOnMaxBounce = false;
fade = true;
gravModifier = 2;
};
datablock ExplosionData(AATurretExplosion)
{
//explosionShape = "";
lifeTimeMS = 150;
soundProfile = vehicleExplosionSound;
emitter[0] = vehicleExplosionEmitter;
emitter[1] = vehicleExplosionEmitter2;
debris = turretDebris;
debrisNum = 1;
debrisNumVariance = 0;
debrisPhiMin = 0;
debrisPhiMax = 360;
debrisThetaMin = 0;
debrisThetaMax = 20;
debrisVelocity = 18;
debrisVelocityVariance = 3;
faceViewer = true;
explosionScale = "1 1 1";
shakeCamera = true;
camShakeFreq = "7.0 8.0 7.0";
camShakeAmp = "10.0 10.0 10.0";
camShakeDuration = 0.75;
camShakeRadius = 15.0;
// Dynamic light
lightStartRadius = 0;
lightEndRadius = 20;
lightStartColor = "0.45 0.3 0.1";
lightEndColor = "0 0 0";
//impulse
impulseRadius = 15;
impulseForce = 1000;
impulseVertical = 2000;
//radius damage
radiusDamage = 30;
damageRadius = 8.0;
//burn the players?
playerBurnTime = 5000;
};
datablock ProjectileData(AATurretExplosionProjectile)
{
directDamage = 0;
radiusDamage = 0;
damageRadius = 0;
explosion = AATurretExplosion;
directDamageType = $DamageType::jeepExplosion;
radiusDamageType = $DamageType::jeepExplosion;
explodeOnDeath = 1;
armingDelay = 0;
lifetime = 10;
};
function Projectile::onAdd(%obj,%a,%b)
{
if(%obj.dataBlock.getID() == AATurretProjectile.getID())
{
%obj.initialvelocity=vectorscale(vectorNormalize(%obj.initialvelocity),600);
}
Parent::onAdd(%obj,%a,%b);
}