mirror of
https://github.com/Ragora/TribesReplay.git
synced 2026-01-20 01:54:47 +00:00
83 lines
1.9 KiB
C#
83 lines
1.9 KiB
C#
// ------------------------------------------------------------------
|
|
// SHIELD PACK
|
|
// can be used by any armor type
|
|
// while activated, absorbs damage at cost of energy
|
|
|
|
datablock AudioProfile(ShieldPackActivateSound)
|
|
{
|
|
filename = "fx/packs/shield_on.wav";
|
|
description = ClosestLooping3d;
|
|
preload = true;
|
|
};
|
|
|
|
datablock ShapeBaseImageData(ShieldPackImage)
|
|
{
|
|
shapeFile = "pack_upgrade_shield.dts";
|
|
item = ShieldPack;
|
|
mountPoint = 1;
|
|
offset = "0 0 0";
|
|
|
|
usesEnergy = true;
|
|
minEnergy = 3;
|
|
|
|
stateName[0] = "Idle";
|
|
stateTransitionOnTriggerDown[0] = "Activate";
|
|
|
|
stateName[1] = "Activate";
|
|
stateScript[1] = "onActivate";
|
|
stateSequence[1] = "fire";
|
|
stateSound[1] = ShieldPackActivateSound;
|
|
stateEnergyDrain[1] = 9;
|
|
stateTransitionOnTriggerUp[1] = "Deactivate";
|
|
stateTransitionOnNoAmmo[1] = "Deactivate";
|
|
|
|
stateName[2] = "Deactivate";
|
|
stateScript[2] = "onDeactivate";
|
|
stateTransitionOnTimeout[2] = "Idle";
|
|
};
|
|
|
|
datablock ItemData(ShieldPack)
|
|
{
|
|
className = Pack;
|
|
catagory = "Packs";
|
|
shapeFile = "pack_upgrade_shield.dts";
|
|
mass = 1;
|
|
elasticity = 0.2;
|
|
friction = 0.6;
|
|
pickupRadius = 2;
|
|
rotate = true;
|
|
image = "ShieldPackImage";
|
|
pickUpName = "a shield pack";
|
|
|
|
computeCRC = true;
|
|
};
|
|
|
|
function ShieldPackImage::onMount(%data, %obj, %node)
|
|
{
|
|
}
|
|
|
|
function ShieldPackImage::onUnmount(%data, %obj, %node)
|
|
{
|
|
%obj.setImageTrigger(%node, false);
|
|
%obj.isShielded = "";
|
|
}
|
|
|
|
function ShieldPackImage::onActivate(%data, %obj, %slot)
|
|
{
|
|
messageClient(%obj.client, 'MsgShieldPackOn', '\c2Shield pack on.');
|
|
%obj.isShielded = true;
|
|
}
|
|
|
|
function ShieldPackImage::onDeactivate(%data, %obj, %slot)
|
|
{
|
|
messageClient(%obj.client, 'MsgShieldPackOff', '\c2Shield pack off.');
|
|
%obj.setImageTrigger(%slot,false);
|
|
%obj.isShielded = "";
|
|
}
|
|
|
|
function ShieldPack::onPickup(%this, %obj, %shape, %amount)
|
|
{
|
|
// created to prevent console errors
|
|
}
|
|
|