initial commit
This commit is contained in:
344
scripts/server/datablocks.cs
Normal file
344
scripts/server/datablocks.cs
Normal file
@ -0,0 +1,344 @@
|
||||
// Creates datablocks for the handheld items and the selection box.
|
||||
// -------------------------------------------------------------------
|
||||
|
||||
//Basic golden duplicator
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//Duplicator Item
|
||||
datablock ItemData(ND_Item)
|
||||
{
|
||||
cameraMaxDist = 0.1;
|
||||
canDrop = 1;
|
||||
category = "Tools";
|
||||
className = "Weapon";
|
||||
density = 0.2;
|
||||
doColorShift = false;
|
||||
colorShiftColor = "1 0.84 0 1";
|
||||
elasticity = 0.2;
|
||||
emap = 1;
|
||||
friction = 0.6;
|
||||
iconName = $ND::ResourcePath @ "server/icon";
|
||||
image = "ND_Image";
|
||||
shapeFile = $ND::ResourcePath @ "server/duplicator_brick.dts";
|
||||
uiName = "Duplicator";
|
||||
};
|
||||
|
||||
//Particles for explosion
|
||||
datablock ParticleData(ND_HitParticle)
|
||||
{
|
||||
colors[0] = "1 0.84 0 0.9";
|
||||
colors[1] = "1 0.84 0 0.7";
|
||||
colors[2] = "1 0.84 0 0.5";
|
||||
gravityCoefficient = 0.7;
|
||||
lifetimeMS = 600;
|
||||
lifetimeVarianceMS = 200;
|
||||
sizes[0] = 0.6;
|
||||
sizes[1] = 0.4;
|
||||
sizes[2] = 0.3;
|
||||
spinRandomMax = 90;
|
||||
spinRandomMin = -90;
|
||||
textureName = "base/client/ui/brickIcons/2x2";
|
||||
times[1] = 0.8;
|
||||
times[2] = 1;
|
||||
};
|
||||
|
||||
//Emitter for explosion
|
||||
datablock ParticleEmitterData(ND_HitEmitter)
|
||||
{
|
||||
lifetimeMS = 20;
|
||||
ejectionPeriodMS = 1;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 3;
|
||||
ejectionOffset = 0.2;
|
||||
particles = ND_HitParticle;
|
||||
thetaMin = 20;
|
||||
thetaMax = 80;
|
||||
velocityVariance = 0;
|
||||
};
|
||||
|
||||
//Explosion
|
||||
datablock ExplosionData(ND_HitExplosion)
|
||||
{
|
||||
camShakeDuration = 0.5;
|
||||
camShakeFreq = "1 1 1";
|
||||
emitter[0] = ND_HitEmitter;
|
||||
faceViewer = 1;
|
||||
lifetimeMS = 180;
|
||||
lightEndRadius = 0;
|
||||
lightStartColor = "0 0 0 0";
|
||||
lightStartRadius = 0;
|
||||
shakeCamera = 1;
|
||||
soundProfile = "wandHitSound";
|
||||
};
|
||||
|
||||
//Projectile to make explosion
|
||||
datablock ProjectileData(ND_HitProjectile)
|
||||
{
|
||||
bounceElasticity = 0;
|
||||
bounceFriction = 0;
|
||||
explodeOnDeath = 1;
|
||||
explosion = ND_HitExplosion;
|
||||
fadeDelay = 2;
|
||||
gravityMod = 0;
|
||||
lifetime = 0;
|
||||
range = 10;
|
||||
};
|
||||
|
||||
//Swing particles
|
||||
datablock ParticleData(ND_WaitParticle)
|
||||
{
|
||||
colors[0] = "1 0.84 0 0.9";
|
||||
colors[1] = "1 0.84 0 0.7";
|
||||
colors[2] = "1 0.84 0 0.5";
|
||||
gravityCoefficient = -0.4;
|
||||
dragCoefficient = 2;
|
||||
lifetimeMS = 400;
|
||||
lifetimeVarianceMS = 200;
|
||||
sizes[0] = 0.5;
|
||||
sizes[1] = 0.8;
|
||||
sizes[2] = 0;
|
||||
spinRandomMax = 0;
|
||||
spinRandomMin = 0;
|
||||
textureName = "base/client/ui/brickIcons/1x1";
|
||||
times[1] = 0.5;
|
||||
times[2] = 1;
|
||||
};
|
||||
|
||||
//Swing emitter
|
||||
datablock ParticleEmitterData(ND_WaitEmitter)
|
||||
{
|
||||
lifetimeMS = 5000;
|
||||
ejectionPeriodMS = 10;
|
||||
periodVarianceMS = 0;
|
||||
ejectionVelocity = 1;
|
||||
ejectionOffset = 0.01;
|
||||
particles = ND_WaitParticle;
|
||||
thetaMin = 20;
|
||||
thetaMax = 80;
|
||||
velocityVariance = 0;
|
||||
};
|
||||
|
||||
//Spin particles
|
||||
datablock ParticleData(ND_SpinParticle : ND_WaitParticle)
|
||||
{
|
||||
colors[0] = "1 0.65 0 0.9";
|
||||
colors[1] = "1 0.65 0 0.7";
|
||||
colors[2] = "1 0.65 0 0.5";
|
||||
gravityCoefficient = 0;
|
||||
sizes[0] = 0.3;
|
||||
sizes[1] = 0.5;
|
||||
sizes[2] = 0;
|
||||
textureName = "base/client/ui/brickIcons/1x1";
|
||||
};
|
||||
|
||||
//Spin emitter
|
||||
datablock ParticleEmitterData(ND_SpinEmitter : ND_WaitEmitter)
|
||||
{
|
||||
particles = ND_SpinParticle;
|
||||
ejectionPeriodMS = 15;
|
||||
thetaMin = 40;
|
||||
thetaMax = 140;
|
||||
ejectionVelocity = 2;
|
||||
};
|
||||
|
||||
//Duplicator image
|
||||
datablock ShapeBaseImageData(ND_Image)
|
||||
{
|
||||
shapeFile = $ND::ResourcePath @ "server/duplicator_brick.dts";
|
||||
className = "WeaponImage";
|
||||
emap = true;
|
||||
mountPoint = 0;
|
||||
offset = "0 0 0";
|
||||
eyeOffset = "0.7 1.4 -0.9";
|
||||
armReady = true;
|
||||
showBricks = true;
|
||||
doColorShift = true;
|
||||
colorShiftColor = "1 0.84 0 1";
|
||||
item = ND_Item;
|
||||
projectile = ND_HitProjectile;
|
||||
loaded = false;
|
||||
|
||||
//Image states
|
||||
stateName[0] = "Activate";
|
||||
stateSpinThread[0] = "Stop";
|
||||
stateTimeoutValue[0] = 0;
|
||||
stateAllowImageChange[0] = false;
|
||||
stateTransitionOnTimeout[0] = "Idle";
|
||||
|
||||
stateName[1] = "Idle";
|
||||
stateSpinThread[1] = "Stop";
|
||||
stateAllowImageChange[1] = true;
|
||||
stateTransitionOnNotLoaded[1] = "StartSpinning";
|
||||
stateTransitionOnTriggerDown[1] = "PreFire";
|
||||
|
||||
stateName[2] = "PreFire";
|
||||
stateScript[2] = "onPreFire";
|
||||
stateTimeoutValue[2] = 0.01;
|
||||
stateAllowImageChange[2] = false;
|
||||
stateTransitionOnTimeout[2] = "Fire";
|
||||
|
||||
stateName[3] = "Fire";
|
||||
stateFire[3] = true;
|
||||
stateScript[3] = "onFire";
|
||||
stateEmitter[3] = ND_WaitEmitter;
|
||||
stateSequence[3] = "swing";
|
||||
stateEmitterNode[3] = "muzzlePoint";
|
||||
stateEmitterTime[3] = 0.01;
|
||||
stateTimeoutValue[3] = 0.01;
|
||||
stateWaitForTimeout[3] = true;
|
||||
stateAllowImageChange[3] = false;
|
||||
stateTransitionOnTimeout[3] = "CheckFire";
|
||||
|
||||
stateName[4] = "CheckFire";
|
||||
stateSpinThread[4] = "Stop";
|
||||
stateTransitionOnNotLoaded[4] = "StartSpinning_TDown";
|
||||
stateTransitionOnTriggerUp[4] = "Idle";
|
||||
|
||||
//Spinning states (from idle)
|
||||
stateName[5] = "StartSpinning";
|
||||
stateSpinThread[5] = "SpinUp";
|
||||
stateTimeoutValue[5] = 0.25;
|
||||
stateTransitionOnTimeout[5] = "IdleSpinning";
|
||||
|
||||
stateName[6] = "IdleSpinning";
|
||||
stateEmitter[6] = ND_SpinEmitter;
|
||||
stateSpinThread[6] = "FullSpeed";
|
||||
stateEmitterNode[6] = "muzzlePoint";
|
||||
stateEmitterTime[6] = 0.35;
|
||||
stateTimeoutValue[6] = 0.35;
|
||||
stateTransitionOnLoaded[6] = "StopSpinning";
|
||||
stateTransitionOnTimeout[6] = "IdleSpinning";
|
||||
|
||||
stateName[7] = "StopSpinning";
|
||||
stateSpinThread[7] = "SpinDown";
|
||||
stateTimeoutValue[7] = 0.25;
|
||||
stateTransitionOnTimeout[7] = "Idle";
|
||||
|
||||
//Spinning states (from checkfire, trigger is still down)
|
||||
stateName[8] = "StartSpinning_TDown";
|
||||
stateSpinThread[8] = "SpinUp";
|
||||
stateTimeoutValue[8] = 0.25;
|
||||
stateTransitionOnTimeout[8] = "IdleSpinning_TDown";
|
||||
|
||||
stateName[9] = "IdleSpinning_TDown";
|
||||
stateEmitter[9] = ND_SpinEmitter;
|
||||
stateSpinThread[9] = "FullSpeed";
|
||||
stateEmitterNode[9] = "muzzlePoint_TDown";
|
||||
stateEmitterTime[9] = 0.4;
|
||||
stateTimeoutValue[9] = 0.4;
|
||||
stateTransitionOnLoaded[9] = "StopSpinning_TDown";
|
||||
stateTransitionOnTimeout[9] = "IdleSpinning_TDown";
|
||||
|
||||
stateName[10] = "StopSpinning_TDown";
|
||||
stateSpinThread[10] = "SpinDown";
|
||||
stateTimeoutValue[10] = 0.25;
|
||||
stateTransitionOnTimeout[10] = "CheckFire";
|
||||
};
|
||||
|
||||
|
||||
//Spinning selection box for box mode
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//Duplicator image
|
||||
datablock ShapeBaseImageData(ND_Image_Box : ND_Image)
|
||||
{
|
||||
shapeFile = $ND::ResourcePath @ "server/duplicator_selection.dts";
|
||||
};
|
||||
|
||||
|
||||
//Blue duplicator for plant mode
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//Particles for explosion
|
||||
datablock ParticleData(ND_HitParticle_Blue : ND_HitParticle)
|
||||
{
|
||||
colors[0] = "0 0.25 1 0.9";
|
||||
colors[1] = "0 0.25 1 0.7";
|
||||
colors[2] = "0 0.25 1 0.5";
|
||||
};
|
||||
|
||||
//Emitter for explosion
|
||||
datablock ParticleEmitterData(ND_HitEmitter_Blue : ND_HitEmitter)
|
||||
{
|
||||
particles = ND_HitParticle_Blue;
|
||||
};
|
||||
|
||||
//Explosion
|
||||
datablock ExplosionData(ND_HitExplosion_Blue : ND_HitExplosion)
|
||||
{
|
||||
emitter[0] = ND_HitEmitter_Blue;
|
||||
};
|
||||
|
||||
//Projectile to make explosion
|
||||
datablock ProjectileData(ND_HitProjectile_Blue : ND_HitProjectile)
|
||||
{
|
||||
explosion = ND_HitExplosion_Blue;
|
||||
};
|
||||
|
||||
//Swing particles
|
||||
datablock ParticleData(ND_WaitParticle_Blue : ND_WaitParticle)
|
||||
{
|
||||
colors[0] = "0 0.25 1 0.9";
|
||||
colors[1] = "0 0.25 1 0.7";
|
||||
colors[2] = "0 0.25 1 0.5";
|
||||
};
|
||||
|
||||
//Swing emitter
|
||||
datablock ParticleEmitterData(ND_WaitEmitter_Blue : ND_WaitEmitter)
|
||||
{
|
||||
particles = ND_WaitParticle_Blue;
|
||||
};
|
||||
|
||||
//Spin particles
|
||||
datablock ParticleData(ND_SpinParticle_Blue : ND_SpinParticle)
|
||||
{
|
||||
colors[0] = "0 0.25 0.75 0.9";
|
||||
colors[1] = "0 0.25 0.75 0.7";
|
||||
colors[2] = "0 0.25 0.75 0.5";
|
||||
};
|
||||
|
||||
//Spin emitter
|
||||
datablock ParticleEmitterData(ND_SpinEmitter_Blue : ND_SpinEmitter)
|
||||
{
|
||||
particles = ND_SpinParticle_Blue;
|
||||
};
|
||||
|
||||
//Duplicator image
|
||||
datablock ShapeBaseImageData(ND_Image_Blue : ND_Image)
|
||||
{
|
||||
colorShiftColor = "0 0.25 1 1";
|
||||
projectile = ND_HitProjectile_Blue;
|
||||
|
||||
//Image states
|
||||
stateEmitter[3] = ND_WaitEmitter_Blue;
|
||||
stateEmitter[6] = ND_SpinEmitter_Blue;
|
||||
stateEmitter[9] = ND_SpinEmitter_Blue;
|
||||
};
|
||||
|
||||
|
||||
//Resizable selection and highlight box
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//Transparent box to visualize bricks intersecting selection box
|
||||
datablock StaticShapeData(ND_SelectionBoxOuter)
|
||||
{
|
||||
shapeFile = $ND::ResourcePath @ "server/selectionbox_outer.dts";
|
||||
};
|
||||
|
||||
//Inside box (inverted normals) to visualize backfaces
|
||||
datablock StaticShapeData(ND_SelectionBoxInner)
|
||||
{
|
||||
shapeFile = $ND::ResourcePath @ "server/selectionbox_inner.dts";
|
||||
};
|
||||
|
||||
//Small box to create solid edges
|
||||
datablock StaticShapeData(ND_SelectionBoxBorder)
|
||||
{
|
||||
shapeFile = $ND::ResourcePath @ "server/selectionbox_border.dts";
|
||||
};
|
||||
|
||||
//Empty shape to hold shapename
|
||||
datablock StaticShapeData(ND_SelectionBoxShapeName)
|
||||
{
|
||||
shapeFile = "base/data/shapes/empty.dts";
|
||||
};
|
Reference in New Issue
Block a user