mirror of
https://github.com/mostlikely4r/construction-mod.git
synced 2026-01-19 19:24:44 +00:00
123 lines
3.6 KiB
C#
123 lines
3.6 KiB
C#
//----------------------------------------------------------------------------
|
|
|
|
datablock EffectProfile(TurretPackActivateEffect)
|
|
{
|
|
effectname = "packs/generic_deploy";
|
|
minDistance = 2.5;
|
|
maxDistance = 2.5;
|
|
};
|
|
|
|
datablock AudioProfile(TurretPackActivateSound)
|
|
{
|
|
filename = "fx/packs/turret_place.wav";
|
|
description = AudioClose3D;
|
|
preload = true;
|
|
effect = TurretPackActivateEffect;
|
|
};
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
function Pack::onCollision(%data, %obj, %col)
|
|
{
|
|
// Don't pick up a new pack if you have a satchel charge deployed:
|
|
if ( %col.thrownChargeId > 0 )
|
|
return;
|
|
|
|
ItemData::onCollision(%data, %obj, %col);
|
|
}
|
|
|
|
function Pack::onUse(%data,%obj)
|
|
{
|
|
if (%obj.getMountedImage($BackpackSlot) != %data.image.getId())
|
|
%obj.mountImage(%data.image,$BackpackSlot);
|
|
else
|
|
{
|
|
// Toggle the image trigger.
|
|
%obj.setImageTrigger($BackpackSlot,
|
|
!%obj.getImageTrigger($BackpackSlot));
|
|
}
|
|
}
|
|
|
|
function Pack::onInventory(%data,%obj,%amount)
|
|
{
|
|
//only do this for players
|
|
if(%obj.getClassName() !$= "Player")
|
|
return;
|
|
|
|
// Auto-mount the packs on players
|
|
if((%oldPack = %obj.getMountedImage($BackpackSlot)) != 0)
|
|
%obj.setInventory(%oldPack.item, 0);
|
|
if (%amount && %obj.getDatablock().className $= Armor)
|
|
{
|
|
// if you picked up another pack after you placed a satchel charge but
|
|
// before you detonated it, delete the charge
|
|
if(%obj.thrownChargeId > 0)
|
|
{
|
|
%obj.thrownChargeId.delete();
|
|
%obj.thrownChargeId = 0;
|
|
}
|
|
%obj.mountImage(%data.image,$BackpackSlot);
|
|
%obj.client.setBackpackHudItem(%data.getName(), 1);
|
|
}
|
|
if(%amount == 0 )
|
|
{
|
|
if ( %data.getName() $= "SatchelCharge" )
|
|
%obj.client.setBackpackHudItem( "SatchelUnarmed", 1 );
|
|
else
|
|
%obj.client.setBackpackHudItem(%data.getName(), 0);
|
|
}
|
|
ItemData::onInventory(%data,%obj,%amount);
|
|
}
|
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
// --- Upgrade packs
|
|
exec("scripts/packs/ammopack.cs");
|
|
exec("scripts/packs/cloakingpack.cs");
|
|
exec("scripts/packs/energypack.cs");
|
|
exec("scripts/packs/repairpack.cs");
|
|
exec("scripts/packs/shieldpack.cs");
|
|
exec("scripts/packs/satchelCharge.cs");
|
|
exec("scripts/packs/sensorjammerpack.cs");
|
|
|
|
exec("scripts/packs/largeInventory.cs");
|
|
exec("scripts/packs/spine.cs");
|
|
exec("scripts/packs/blastwall.cs");
|
|
exec("scripts/packs/blastfloor.cs");
|
|
exec("scripts/packs/blastwwall.cs");
|
|
exec("scripts/packs/jumpad.cs");
|
|
exec("scripts/packs/energizer.cs");
|
|
exec("scripts/packs/mspine.cs");
|
|
exec("scripts/packs/treepack.cs");
|
|
exec("scripts/packs/cratepack.cs");
|
|
exec("scripts/packs/decorationpack.cs");
|
|
exec("scripts/packs/logoprojectorpack.cs");
|
|
exec("scripts/packs/lightpack.cs");
|
|
exec("scripts/packs/forcefieldpack.cs");
|
|
exec("scripts/packs/gravityfieldpack.cs");
|
|
exec("scripts/packs/telepadpack.cs");
|
|
exec("scripts/packs/turretpack.cs");
|
|
exec("scripts/packs/discturret.cs");
|
|
exec("scripts/packs/laserturret.cs");
|
|
exec("scripts/packs/missilerackturret.cs");
|
|
exec("scripts/packs/mediumSensor.cs");
|
|
exec("scripts/packs/largeSensor.cs");
|
|
exec("scripts/packs/tripwire.cs");
|
|
exec("scripts/packs/escapePodPack.cs");
|
|
exec("scripts/packs/vehiclepad.cs");
|
|
exec("scripts/packs/Effectpacks.cs");
|
|
exec("scripts/packs/door.cs");
|
|
|
|
// --- Turret barrel packs
|
|
exec("scripts/packs/aabarrelpack.cs");
|
|
exec("scripts/packs/missilebarrelpack.cs");
|
|
exec("scripts/packs/mortarbarrelpack.cs");
|
|
exec("scripts/packs/plasmabarrelpack.cs");
|
|
exec("scripts/packs/ELFbarrelpack.cs");
|
|
|
|
// --- power
|
|
exec("scripts/packs/generator.cs");
|
|
exec("scripts/packs/solarpanel.cs");
|
|
exec("scripts/packs/switch.cs");
|